【问题标题】:XPATH Preserving TagXPATH 保留标签
【发布时间】:2015-05-19 12:01:16
【问题描述】:

嗨,我有一个这样的 xml:

<root>
    <parent1>
        <leaf1>value1</leaf1>
        <leaf2>value1</leaf2>
        <leaf3>value1</leaf3>
        <leaf4>value1</leaf4>
    </parent1>
    <parent2>
        <leaf1>value1</leaf1>
        <leaf2>value1</leaf2>
        <leaf3>value1</leaf3>
        <leaf4>value1</leaf4>
        ...
        <leafN>value1</leafN>
    </parent2>
</root>

我需要将其提取为输出:

<leaf1>value1</leaf1>
<leaf2>value1</leaf2>
<leaf3>value1</leaf3>
<leaf4>value1</leaf4>
...
<leafN>value1</leafN>

如何编写和 xpath 查询让我有可能跳过一些节点...例如:leaf1 和 leaf3?

【问题讨论】:

    标签: xml xpath tags


    【解决方案1】:

    如果 XML 和问题一样简单,提取所有root 的孙子可以使用:

    /*/*/*
    

    要排除 leaf1leaf3,您可以使用以下内容:

    /*/*/*[not(self::leaf1) and not(self::leaf3)]
    

    【讨论】:

      【解决方案2】:

      如果要查找不依赖于树结构的所有叶子节点,不包括某些节点,请使用 xpath:

      //*[count(*)=0 and not(self::leaf1) and not(self::leaf3)]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-11-19
        • 2020-12-15
        • 2014-05-07
        • 2021-08-30
        • 1970-01-01
        • 1970-01-01
        • 2016-08-30
        • 2019-11-25
        相关资源
        最近更新 更多