给出一个xml块:
<parent>
<child id="1" />
<child id="2" />
</parent>
我如何使用xpath返回
<parent>
<child id="1" />
</parent>
基于id="1"
(不是第一个孩子)的过滤器。
我不是在寻找xslt或xquery解决方案。
非常感谢。
答案 0 :(得分:2)
只有XPath,你不能。
XPath允许您从XML文档树中查询(选择)节点,但它无法修改树或创建新节点。因此,如果您选择原始<parent>
节点,它将有两个<child>
个子节点,您无法更改它。要获得仅包含一个孩子的<parent>
,您必须修改原始<parent>
以删除其他孩子,或者创建新的<parent>
。
你可以用XSLT做到这一点,正如你所提到的那样;或许多其他XML树构建技术。如果您告诉我们您正在构建哪种平台,我们可以建议与您的平台最相关的平台。