gpt4 book ai didi

xpath - 选择XPath中唯一的第一个匹配节点

转载 作者:行者123 更新时间:2023-12-03 15:23:57 24 4
gpt4 key购买 nike

我有以下XML:

<parent>
<pet>
<data>
<birthday/>
</data>
</pet>
<pet>
<data>
<birthday/>
</data>
</pet>
</parent>

现在,我想通过 parent//birthday[1]选择第一个生日元素,但这将返回两个生日元素,因为它们都是 parent 的第一个 child 。

无论位于何处,如何仅选择整个文档的第一个生日元素。我已经尝试过 parent//birthday[position()=1],但是也不行。

最佳答案

您的意思是(请注意括号!)

(/ parent /宠物/数据/生日)[1]

或者,较短但不那么具体的变化:

(/*/*/*/生日)[1]
(//生日)[1]

或者,更确切地说,是“第一只宠物的生日”:

/parent/pet [1]/data/生日

或者,如果不是所有的宠物都有生日条目,则为“第一个设置了生日的宠物的生日”:

/parent/pet [数据/生日] [1]/数据/生日

如果您在上下文节点中工作,则可以通过使表达式相对于该上下文节点来简化该表达式。

解释:

  • /parent/pet/data/birthday[1]在整个
  • 文档中选择所有在各自父级中第一个的 <birthday>节点( <data>节点)。
  • (/parent/pet/data/birthday)[1]选择所有<birthday>节点,并且在这些节点中(这就是括号的作用,它们创建了一个中间节点集),它采用了第一个
  • 关于xpath - 选择XPath中唯一的第一个匹配节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2162970/

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