如何正确连接XPath?

问题描述 投票:0回答:1

我尝试通过串联来匹配多个元素及其所有出现的情况。

我尝试了两种表达方式

concat(//h5,'###',//h5/following-sibling::p)
concat(//*/h5,'###',//*/h5/following-sibling::p)

但两者都部分有效 - 它们仅匹配第一次出现。

我做错了什么?匹配所有事件的工作方式是什么?

xpath concatenation string-concatenation xpath-1.0
1个回答
0
投票

当参数是像

text()
这样的表达式时,
//*/h5
函数很可能会隐式使用,因此
contact(//*/h5, "some")
可以翻译为
concat(string(//*/h5), "some")

来自 string() 文档:

如果对象是节点集,则返回集合中第一个节点的字符串值。

回答OP的问题

我做错了什么?匹配所有事件的工作方式是什么?

本身没有什么问题,只是许多 XPath 1.0 函数仅对节点集的第一个元素进行操作。

那些节点集应该在外部进行迭代。

© www.soinside.com 2019 - 2024. All rights reserved.