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

如何用XPath的contains实现非精确匹配筛选path元素

匹配以特定前缀开头的group元素对应的path节点

核心解决方案(XPath 1.0 兼容,大多数工具支持)

要筛选group元素以rgrp开头的path节点,应该使用starts-with()函数,而非contains()(contains()会匹配任何位置包含rgrp的内容,不符合前缀匹配需求):

//recent/item/location[starts-with(group/text(), 'rgrp')]/path

处理含空白的情况

如果group元素内部可能存在换行、空格等空白字符,可先用normalize-space()清理后再匹配:

//recent/item/location[starts-with(normalize-space(group), 'rgrp')]/path

XPath 2.0+ 正则写法(支持正则的环境适用)

若你的XPath引擎支持2.0及以上版本,也可使用正则表达式的matches()函数明确指定前缀匹配:

//recent/item/location[matches(group/text(), '^rgrp')]/path

效果验证

针对你提供的XML示例:

  • 第一个item的group值为rgrp1,符合前缀规则,对应的path节点会被匹配
  • 第二个item的group值为fgrp6,不符合规则,不会被匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 01:52:18