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

如何编写XPath查询获取存在同标签Text兄弟节点的Text元素?

筛选有同类型兄弟节点的Text元素的XPath方案

正确的XPath表达式

要获取所有拥有同为Text元素的兄弟节点的Text元素,推荐使用以下表达式:

Body//Text[preceding-sibling::Text or following-sibling::Text]

这个表达式逻辑清晰:匹配所有前面存在Text类型兄弟节点,或者后面存在Text类型兄弟节点的Text元素,正好满足你“有同类型兄弟”的需求。

如果你的场景只需要筛选后面有Text兄弟的元素,也可以用简化版:

Body//Text[following-sibling::Text]

不过前者能覆盖所有存在同类型兄弟的情况,适用性更广。

原表达式失败的原因

你之前尝试的Body//Text[.= following-sibling]存在两处错误:

  • 语法错误:following-sibling必须指定具体的节点类型,比如following-sibling::Text,不能单独使用
  • 逻辑错误:这个表达式是在比较当前节点的文本内容和兄弟节点,而不是判断是否存在同类型兄弟,完全偏离了需求方向。

效果验证

用你提供的示例XML测试第一个表达式,会返回全部3个Text元素——因为它们彼此都是同类型兄弟,完全符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 09:42:40