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

如何获取正确的XPath以提取指定数值或分隔拼接的数值内容

问题原因

目标<td>节点下包含两个独立的文本节点,分别对应44.78和13.02%:

  • 直接取<td>节点的文本内容时,解析器会将所有子文本节点的内容无分隔拼接,所以得到44.7813.02%
  • 直接用text()匹配返回的是文本节点集合,大部分XPath运行环境不支持直接返回节点集合类型,因此会返回空值

解决方案

仅提取44.78的XPath

指定取第一个文本节点即可:
//div[@id="DupontDiv"]/table/tbody/tr[2]/td[2]/text()[1]

两个数值用空格分隔返回

分两种XPath版本适配:

  1. 支持XPath 2.0及以上版本的环境,用string-join拼接所有文本节点:
    string-join(//div[@id="DupontDiv"]/table/tbody/tr[2]/td[2]/text(), ' ')
  2. 仅支持XPath 1.0的环境,分别取两个文本节点手动拼接:
    concat(//div[@id="DupontDiv"]/table/tbody/tr[2]/td[2]/text()[1], ' ', //div[@id="DupontDiv"]/table/tbody/tr[2]/td[2]/text()[2])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 02:54:09