带有htmlagilitypack的Xpath

时间:2013-06-15 11:01:28

标签: xpath html-agility-pack

我尝试使用带有HtmlAgilliyPack的XPath选择“string b”文本节点。

<div>
  string a<br/>
  string b<br/>
  string c<br/>
</div>

我不确定如何选择文字?

这不起作用//div/text(1)

有人有什么建议吗?

2 个答案:

答案 0 :(得分:1)

你的表达有两个问题:

  • XPath从1开始计数,因此您需要第二个文本节点
  • text()是一个不接受参数的节点过滤器。如果要限制为第二个文本节点,请使用谓词[position() = 2]或短版本[2]

使用此表达式:

//div/text()[2]

选择文本节点可能包括一些麻烦,切断前导空格和尾随空格,省略仅空白文本节点是依赖于实现的。

答案 1 :(得分:0)

尝试:

//div/br[1]/following-sibling::text()[1]'

第一个br之后的直接跟随文字。