gpt4 book ai didi

xml - xpath: 为每个子节点获取父节点的值

转载 作者:数据小太阳 更新时间:2023-10-29 02:25:46 26 4
gpt4 key购买 nike

鉴于此 XML:

<child id="1"  name="alpha" >Some Text</child
<child id="2" name="beta" >
<grandchild id="2.1"></grandchild>
<grandchild id="2.2"></grandchild>
</child>
<child id="3" name="gamma" mark="yes" >
<grandchild id="3.1" name="gamma-alpha"> </grandchild>
<grandchild id="3.2" name="gamma-beta" ></grandchild>
</child>

有 4 个孙节点,我想获取它们所有的父节点(恰好是我的示例数据中的“子”节点)id 值。我自己的微弱尝试:

//孙/ parent :: child /@id

返回:

text{"2"}, 
text{"3"}

只是,但是

text{"2"},
text{"2"},
text{"3"},
text{"3"}

是我希望看到的。

最佳答案

您需要使用宿主语言来迭代 grandchild 元素并为每个元素访问 parent::child/@id 或您需要移动到 XPath 2.0 ( https://www.w3.org/TR/xpath20/#id-for-expressions ) 或更高版本并使用 for $gc in//grandchild return $gc/parent::child/@id 或 XPath 3.0 ( https://www.w3.org/TR/xpath-30/#id-map-operator ) 或更高版本并使用 //孙子! parent :: child /@id。使用 XPath,路径选择节点中的任何步骤 /exp 都会消除重复项,因此您不能使用 / 编写单个表达式来返回四个 id 属性对于您拥有的两个元素。

关于xml - xpath: 为每个子节点获取父节点的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41532103/

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