我需要选择一个只包含男孩子节点的Children节点。
从这个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只能提供单个节点,而不是这样的XML
<Children>
<Child>
<Name>Joe</Name>
<Sex>boy</Sex>
</Child>
<Child>
<Name>Harry</Name>
<Sex>boy</Sex>
</Child>
</Children>
要接收您所请求的内容,您应该使用其他工具,而不是纯XPath。
模式详情见这里或这里