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

请求正确XPATH:提取含student类型节点的<a>下id类型<cc>的value值

正确的XPath解决方案

首先咱们先拆解下你原来的XPath为啥没结果:

  1. 笔误问题:你写的是type="bond",但实际要匹配的是student类型的<cc>节点;
  2. 节点顺序逻辑错了:在目标<a>里,type="id"的<cc>是在type="student"的<cc>前面的,而following-sibling是找当前节点之后的兄弟节点,自然搜不到对应内容。

推荐的健壮型XPath表达式

//a[cc/type="student"]/cc[type="id"]/value/text()

表达式逻辑说明

  • //a[cc/type="student"]:先筛选出所有包含type为student的<cc>子节点的<a>节点,直接锁定第一个<a>(第二个<a>里的<cc>是employee,会被排除);
  • /cc[type="id"]:在锁定的<a>节点内部,找到type为id的<cc>子节点;
  • /value/text():提取该<cc>节点下<value>的文本内容,也就是你要的345。

这种写法的好处是不依赖<cc>节点的顺序,不管id类型的<cc>在student类型的<cc>前还是后,都能准确匹配,比依赖兄弟节点位置的写法更可靠。

如果你非要用兄弟节点的方式(不推荐,节点顺序变动就会失效),修正后的表达式可以是:

//cc[type="student"]/preceding-sibling::cc[type="id"]/value/text()

它会先找到type="student"的<cc>节点,再取它前面的type="id"兄弟节点的value文本,也能得到345。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:20:02