多个文本节点上的 XPath 函数

标签 xpath xpath-1.0

使用 XPath 1.0 想要获取在每个文本节点上应用 XPath 'substring' 函数的文本节点列表

substring(//p/text(), 10) 

仅给出第一个文本的子字符串,当

//p/text()

给出所有这些,但希望设置所有子字符串

编辑:

尝试过

//p/substring(text(), 10)

说无效的 XPath 表达式

我怎样才能实现这个目标?

提前致谢

最佳答案

如果您想要一组字符串作为 XPath 1.0 表达式的结果,那么您就不走运了,因为 XPath 1.0 中没有这样的数据类型:唯一可用的集合是节点集合,您可以只能选择已经存在的节点,不能创建新节点。

使用 XPath 2.0,这是小菜一碟:

//p/text()/substring(., 10)

因此,如果可能的话,请为自己找到一个 XPath 2.0 处理器。

关于多个文本节点上的 XPath 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41736807/

相关文章:

c# - 为什么System.Xml.XmlDocument上的XPath找不到相邻的文本和CData节点?

python - 这个 xPath 没有给出任何结果,有什么原因吗?

xml - XSLT 无法正常工作以删除元素

xml - XPath 语法,带或不带 "/text()"后缀

python-3.x - 如何使用 Selenium 和 Python 引用 HTML 中的文本来定位元素

xslt - XPath 1.0 选择 sibling 的不同属性

regex - XPath 与属性值的正则表达式匹配

java - 不同位置节点的通用 xpath

php - XPATH - 获取返回的单个值而不是数组 php