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

请求协助:获取满足Amount='0'条件的PaxID的XPath表达式

正确的XPath查询语句

错误原因分析

  • 原表达式路径逻辑错误:PaxID和Services是同级节点,并非Charge的子节点,无法从Charge节点直接定位到PaxID。
  • 未处理XML命名空间:目标XML使用了a:和b:的命名空间前缀,直接用无前缀的节点名会匹配失败。

解决方案

根据你的XML结构,提供两种可行的XPath表达式:

1. 忽略命名空间(兼容多数环境)

使用local-name()匹配节点名称,无需绑定命名空间:

//*[local-name()='Passenger'][./*[local-name()='Services']/*[local-name()='Charge']/*[local-name()='Amount']='0']/*[local-name()='PaxID']

2. 绑定命名空间(规范写法)

如果你的XPath处理器支持命名空间绑定,先绑定前缀对应的命名空间:

  • a → 对应XML中Passengers等节点的命名空间
  • b → charges.radixx.com/v1

然后使用带前缀的XPath:

//a:Passenger[a:Services/b:Charge/b:Amount='0']/a:PaxID

逻辑说明

先定位到包含Amount='0'的Charge节点所属的Passenger父节点,再提取该节点下的PaxID值,完全符合“条件位于PaxID的同级子节点中”的要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 02:45:09