多个文本节点上的 XPath 函数

XPath function on multiple text nodes

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

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

只给出第一个文本的子串,当

//p/text()

给出所有的,但是想要所有的子串作为集合

编辑:

尝试过

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

说 XPath 表达式无效

我怎样才能做到这一点?

提前致谢

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

对于 XPath 2.0,这是小菜一碟:

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

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