xpath问题(HtmlAgilityPack)

时间:2013-10-08 19:13:44

标签: c# html xpath html-parsing

我有一个“TR”节点数组。我想要的只是获得每个元素的子“TD”标签。

我不知道该怎么做。 有人知道吗?

这是我的代码:

foreach (HtmlNode tr in doc.DocumentNode.SelectNodes("//table[@id=\"ctl00_ContentPlaceHolder1_CustomerByLocation_ViewPanelStandAlone_ViewPanel_Grid_ctl01\"]/tr[position()>1]"))
{
    foreach (HtmlNode td in tr.SelectNodes("//td"))
    {
         w.WriteLine(td.InnerHtml);
    }
    w.WriteLine("***********************");
}

1 个答案:

答案 0 :(得分:1)

在XPath中,“//”表示“所有节点都从root开始 - 所以您的第二次搜索"//td"会忽略tr作为父级,并且无论如何都会搜索整个DOM。

您最有可能只寻找"td"(而不是"//td")。