指定节点范围-Xpath/Html敏捷包

本文关键字:Html -Xpath 节点 范围 | 更新日期: 2023-09-27 18:25:40

我正在尝试指定一系列节点。我见过在两个xpath方程中使用"answers"的例子,但我无法使其工作,要么它没有返回任何结果,要么给出错误。

例如,我有这个当前语句

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]"

有人能指出我做错了什么吗?

指定节点范围-Xpath/Html敏捷包

and放在表达式的中间:

"//table[2]//tbody/tr[position() >= 3 and position() <=6]//table[1]"