【问题标题】:XPATH: How can I select a Children node that contains only boy Child nodesXPATH:如何选择仅包含男孩子节点的子节点
【发布时间】:2021-11-15 21:10:10
【问题描述】:

我需要选择一个只包含男孩子节点的子节点。

从此 XML:

<Parent>
    <Name>Mary</Name>
    <Sex>female</Sex>
    <Children>
        <Child>
            <Name>Joe</Name>
            <Sex>boy</Sex>
        </Child>
        <Child>
            <Name>Harry</Name>
            <Sex>boy</Sex>
        </Child>
        <Child>
            <Name>Sue</Name>
            <Sex>girl</Sex>
        </Child>
        <Child>
            <Name>Connie</Name>
            <Sex>girl</Sex>
        </Child>
        <Child>
            <Name>Kim</Name>
            <Sex>other</Sex>
        </Child>
    </Children>
</Parent>

我需要这个结果:

<Children>
    <Child>
        <Name>Joe</Name>
        <Sex>boy</Sex>
    </Child>
    <Child>
        <Name>Harry</Name>
        <Sex>boy</Sex>
    </Child>
</Children>

此 xpath 为我提供了正确的子节点 - 但不在子节点内。

//Children/Child[Sex='boy']

这个 xpath 给了我想要的 Children 节点 - 但里面有所有 Child 节点 - 不仅仅是男孩。

//Children[Child/Sex='boy']

用xpath能做到吗?

【问题讨论】:

    标签: xpath


    【解决方案1】:

    XPath 只能给你单个节点,而不是像这样的 XML

    <Children>
        <Child>
            <Name>Joe</Name>
            <Sex>boy</Sex>
        </Child>
        <Child>
            <Name>Harry</Name>
            <Sex>boy</Sex>
        </Child>
    </Children>
    

    要接收您要求的内容,您应该使用其他工具,而不是纯 XPath。
    模式详情见herehere

    【讨论】:

      猜你喜欢
      • 2021-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多