【发布时间】:2014-12-01 01:26:24
【问题描述】:
我试图找出指定范围的节点。我已经看到在两个 xpath 方程中使用“and”的示例,但我无法让它工作,要么它不返回任何内容,要么给出错误。
例如我有这个当前声明
HtmlNode table = doc.DocumentNode.SelectSingleNode("//table[2]//tbody//tr[3]//table[1]");
foreach (var cell in table.SelectNodes(".//tr//td").Skip(2))
{
string cleanedHtml = cleaner(cell.InnerText.Trim());
QuoteItems.Add(cleanedHtml);
}
现在,如果我想获得那个 Htmlnode,但指定从第一个 tr 到第六个 tr 的所有内容,我该怎么做?
即 我想要所有的东西
HtmlNode table = doc.DocumentNode.SelectSingleNode("//table[2]//tbody/tr[3]//table[1]");
到
HtmlNode table = doc.DocumentNode.SelectSingleNode("//table[2]//tbody/tr[6]//table[1]");
如前所述,我已经尝试过了,但我只是遇到了第一次机会例外。
"//table[2]//tbody/tr[position() >= 3 and position() <=6]//table[1]"
谁能指出我做错了什么?
【问题讨论】:
标签: c# html xpath html-agility-pack