选择具有子集的元素

时间:2019-03-31 16:37:13

标签: xml xpath

如何通过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>

并获得预期的结果。

0 个答案:

没有答案