xpath:选择父级和已过滤的子级

时间:2012-12-06 18:42:04

标签: xpath

给出一个xml块:

<parent>
    <child id="1" />
    <child id="2" />
</parent>

我如何使用xpath返回

<parent>
    <child id="1" />
</parent>

基于id="1"(不是第一个孩子)的过滤器。

我不是在寻找xslt或xquery解决方案。

非常感谢。

1 个答案:

答案 0 :(得分:2)

只有XPath,你不能。

XPath允许您从XML文档树中查询(选择)节点,但它无法修改树或创建新节点。因此,如果您选择原始<parent>节点,它将有两个<child>个子节点,您无法更改它。要获得仅包含一个孩子的<parent>,您必须修改原始<parent>以删除其他孩子,或者创建新的<parent>

你可以用XSLT做到这一点,正如你所提到的那样;或许多其他XML树构建技术。如果您告诉我们您正在构建哪种平台,我们可以建议与您的平台最相关的平台。