c#HtmlAgilityPack for on nodes array

arrays c# html html-agility-pack

我使用的是html agility pack,並且在獲得節點數組之後:

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

現在我想為每個節點[i]運行一個for循環。我試過這個:

 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]。但是在html文檔中顯示了所有(“// td [@ class ='artist']”)的數組。幫幫我?

一般承認的答案

使用//td[@class='artist']將從document.DocumentNode獲取帶有artist類的所有列。

使用.//td[@class='artist'] (注意開頭的點)將從當前所選節點獲取所有具有artist類的列,在您的情況下是nodes[i]



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow