XPath搜索所有文本节点,而不是任何其他子节点的内部文本

Chu*_*age 5 html c# xpath html-agility-pack

我正在使用HtmlAgilityPack.

我将鼠标悬停在父节点上,其ChildNodes显示多个#text节点.XPath值显示/code[1]/#text[1].我尝试使用//#text获取所有文本节点,但我得到了错误:

错误: Expression must evaluate to a node-set.

我已经尝试过//text什么也没得到,但没有错误.

lon*_*day 5

您需要使用text()来获取文本节点.要获取文档中的所有文本节点,请使用//text().

规格:

text() 匹配任何文本节点.

  • @Chuck,你得到的所有文本节点都是父级的后代,这正是`//`的用法.`//`是`descendant ::`的缩写.如果您只想要文本节点是`parent`的直接子节点,请使用`child :: text()`.正如@lonesome建议的那样,它的缩写就是`text()`. (4认同)