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

能否通过单个XPath查询拼接两个节点取值?附示例XML及预期输出

实现方案

该需求可以实现,具体写法根据你使用的XPath版本有所区分:

XPath 2.0及以上版本(主流解析器均支持)

直接使用以下单条XPath语句即可完全匹配你的预期输出:

/Resources/Resource/concat(UID, ',', Name)

这条语句会遍历所有Resource节点,对每个节点分别拼接其子节点UID、逗号、Name的文本值,最终返回两个拼接好的字符串序列,和你给出的预期输出完全一致。

仅支持XPath 1.0的场景

XPath 1.0不支持直接返回多组拼接后的字符串序列,有两种可选方案:

  • 外层遍历所有Resource节点,对每个节点执行以下查询获取当前节点的拼接结果:
    concat(UID, ',', Name)
    
  • 纯XPath 1.0一次性返回所有结果(返回值为所有拼接结果用空格分隔的单个字符串,后续自行拆分即可):
    concat(//Resource[1]/UID, ',', //Resource[1]/Name, ' ', //Resource[2]/UID, ',', //Resource[2]/Name)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 20:45:04