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

如何使用XPath表达式仅在Text_2含元素时提取Text节点文本?

XPath条件式提取同层级Text节点文本

针对你的需求,完全可以通过XPath的谓词条件实现,以下是适配不同场景的方案:

核心表达式

场景1:当同层级存在Text_2节点时提取

//Text[../Text_2]/text()

场景2:当同层级Text_2节点包含value_1属性时提取(匹配你尝试的定位逻辑)

//Text[../Text_2[@value_1]]/text()

表达式解释

  • //Text:全局匹配所有<Text>节点
  • [../Text_2[@value_1]]:谓词筛选条件,检查当前<Text>的父节点下,是否存在带有value_1属性的<Text_2>兄弟节点
  • /text():提取符合条件的<Text>节点的文本内容

精准定位优化

如果需要限定在特定父节点(比如示例中的<SomeNode>)下提取,可使用更具体的路径提升效率:

//SomeNode[Text_2[@value_1]]/Text/text()

用你的XML示例测试上述表达式,会成功提取到<Text>节点的文本text,因为对应的<Text_2>满足属性条件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 14:35:23