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

XPath能否按中间层级节点对选中的节点列表进行分组?

可以实现,具体方案根据你使用的XPath版本有所区别:

XPath 2.0及以上版本(推荐)

单条XPath语句即可直接返回分组后的嵌套序列,语句如下:

for $b in /a/b return $b/c/text()

如果你使用支持XPath 3.1的解析器,还可以直接输出标准嵌套数组结构:

array{ /a/b ! array{ ./c/text() } }

上述语句执行后即可直接得到你需要的[[r, s, t], [u, v, w], [x, y, z]]格式的结果。

XPath 1.0版本

XPath 1.0本身不支持返回嵌套序列结构,无法通过单条语句直接得到分组结果,需要配合宿主编程语言二次处理,步骤如下:

  • 第一步执行XPath查询/a/b,得到所有b节点的列表
  • 第二步遍历每一个b节点,针对当前节点执行XPath查询./c/text(),提取当前b节点下的所有c节点文本
  • 把每一轮遍历得到的文本列表汇总,即可得到最终的嵌套分组结果

内容的提问来源于stack exchange,提问作者lukas.j

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 05:45:10