如何用XQL选取满足条件元素的紧邻后续元素?
在XQL中选取特定元素的紧邻后续元素
没问题,我来帮你搞定这个XQL的需求!你需要找到<a>值为'DD'的<child>元素的紧邻后续<child>的<a>内容,虽然XQL没有following或following-sibling这类轴,但我们可以借助**位置索引(position())**来实现相同的效果。
解决方案XQL语句
/parent/child[position() = (/parent/child[a = 'DD']/position()) + 1]/a
语句逻辑拆解
- 首先,内层表达式
(/parent/child[a = 'DD']/position())会定位到值为'DD'的<child>元素的位置(在你的XML示例里,这个位置是4)。 - 接着,
position() = 上述位置 + 1会精准选中目标元素的紧邻下一个<child>(也就是第5个<child>)。 - 最后取这个
<child>下的<a>节点,就能得到你想要的'EE'值。
边界情况说明
如果目标<child>是最后一个元素(比如你的示例里的EE),这个语句会返回空结果,因为没有后续元素,这符合预期逻辑。
内容的提问来源于stack exchange,提问作者evilsoldier
相关产品推荐
相关产品推荐

