首页 > 解决方案 > 选择具有子子集的元素

问题描述

如何通过 XPath 提取具有子子集的元素?

示例 xml:

<items>
    <item>
        <prop1>child11</prop1>
        <prop2>child12</prop2>
        <prop3>child13</prop3>
    </item>
    <item>
        <prop1>child21</prop1>
        <prop2>child22</prop2>
        <prop3>child23</prop3>
    </item>
</items>

我试过类似的东西/items/item/(prop1|prop2),但它只返回子节点:

<prop1>child11</prop1>
<prop2>child12</prop2>
<prop1>child21</prop1>
<prop2>child22</prop2>

我想在结果中保存层次结构:

<items>
    <item>
        <prop1>child11</prop1>
        <prop2>child12</prop2>
    </item>
    <item>
        <prop1>child21</prop1>
        <prop2>child22</prop2>
    </item>
</items>

是否可以使用 XPath 实现这一点?也许我提供了一些具有类似graphQL语法的魔术工具

<items>
    <item>
        <prop1>
        <prop2>

并得到预期的结果。

标签: xmlxpath

解决方案


推荐阅读