gpt4 book ai didi

xml - 使用 XPath 在递归父子中查找元素组

转载 作者:行者123 更新时间:2023-12-03 17:32:04 27 4
gpt4 key购买 nike

我需要在递归父子属性内的 xml 文件中找到一个子节点。这是一个 xml 示例:

<root>
<element>
<nodeA>
<nodeB>
<nodeA>
<nodeB>
<nodeA>
<nodeB></nodeB>
<nodeB></nodeB>
<nodeB></nodeB>
</nodeA>
</nodeB>
<nodeB>
<nodeA>
<nodeB></nodeB>
<nodeB></nodeB>
</nodeA>
</nodeB>
<nodeB>
<nodeA>
<nodeB></nodeB>
</nodeA>
</nodeB>
</nodeA>
</nodeB>
<nodeB>
<nodeA>
<nodeB>
<nodeA>
<nodeB></nodeB>
</nodeA>
</nodeB>
</nodeA>
</nodeB>
</nodeA>
</element>
</root>

我可以找到所有没有 nodeA 子节点的节点:

//nodeB[not(nodeA)]



但我需要选择第一个(并且只有第一个) nodeB没有 nodeA 的组 child ,实际上是第一个 nodeB 的发生在上面的例子中。

最佳答案

这是

(//nodeA)[nodeB[not(nodeA)]][1]/nodeB

您的 XPath 几乎是正确的 - 您只需要在一个级别(到 nodeA 组)上 UP 并选择第一个。请注意,XPath 集合是 1 索引而不是经典的 0 索引。

更新:并用圆括号正确控制运算符的优先级。

关于xml - 使用 XPath 在递归父子中查找元素组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32697989/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com