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