c # HtmlAgilityPack для массива узлов

arrays c# html html-agility-pack

Вопрос

Я использую html agility pack и после того, как я получил массив узлов:

HtmlNode[] nodes = document.DocumentNode.SelectNodes("//tbody[@class='table']").ToArray();

теперь я хочу запустить цикл for для каждого узла [i]. Я пробовал это:

 for (int i = 0; i < 1; i++)
            {

                if (t == null)
                    t = new Model.Track();

                 HtmlNode[] itemText = nodes[i].SelectNodes("//td[@class='artist']").ToArray();

                for (int x = 0; x < itemText.Length; x++)
                { //doing something      }

проблема заключается в том, что массив itemtext не фокусируется на узлах [i]. но выводит массив из всех ("// td [@ class = 'artist']") в html-документе. Помогите?

Принятый ответ

Используя //td[@class='artist'] получите все столбцы с классом artist из вашего document.DocumentNode . document.DocumentNode .

Использование .//td[@class='artist'] (обратите внимание на точку в начале) будет извлекать все столбцы с классом artist из текущего выбранного узла, который в вашем случае является nodes[i] .



Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow