3

给定一个 xml 块:

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

我如何使用 xpath 返回

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

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

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

非常感谢。

4

1 回答 1

3

仅使用 XPath,您不能。

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

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

于 2012-12-06T19:21:51.443 回答