You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用XPath选择完整节点路径而非仅最后匹配的节点?

获取包含指定子节点结构的完整TagA节点的XPath写法

你的XML结构:

...
<TagA>
    <TagB Name="MyTagB"/>
    <TagB Name="MyOtherTagB"/>
</TagA>
...

原来的XPath只返回<TagB Name="MyOtherTagB"/>,是因为路径是从符合条件的TagB[@Name='MyTagB']出发,定位它的后续兄弟节点,自然只会返回这个兄弟节点。要拿到整个TagA,需要把判断逻辑作为TagA的筛选条件,写法如下:

//*[local-name()='TagA'][*[local-name()='TagB' and @Name='MyTagB']/following-sibling::*[local-name()='TagB' and @Name='MyOtherTagB']]

逻辑说明

这个表达式的核心是:

  1. 先定位所有TagA节点(//*[local-name()='TagA'])
  2. 给TagA加筛选条件:该节点内部存在一个TagB[@Name='MyTagB'],且这个TagB的后续兄弟节点中存在TagB[@Name='MyOtherTagB']

这样就能精准选中包含指定子节点结构的完整TagA节点。

内容的提问来源于stack exchange,提问作者Febertson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 13:05:15