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

如何编写XPath定位同一formset内重复name属性的form元素?

定位同一formset内重复name属性的form元素的XPath表达式

示例XML结构

<form-validation>
  <formset>
    <form name="BookForm"> ... </form>
    <form name="BookForm"> ... </form> <!-- 目标定位元素 -->
  </formset>

  <formset>
    <form name="BookForm"> ... </form> <!-- 无需定位此元素 -->
  </formset>
</form-validation>

需求说明

需要定位同一formset节点内,name属性值与同层级前一个form元素完全相同的重复form元素(即示例中第一个formset里的第二个<form>)。

对应的XPath表达式

//formset/form[preceding-sibling::form[1]/@name = @name]

表达式解释

  • //formset/form:先匹配所有位于formset节点下的form元素
  • [preceding-sibling::form[1]/@name = @name]:添加过滤条件,仅保留满足以下要求的form:
    • preceding-sibling::form[1]:取当前form的同层级前第一个兄弟form元素(preceding-sibling只会查找同一父节点下的前置兄弟,天然限定在同一个formset内)
    • 对比该前置兄弟的name属性与当前form的name属性值是否相等,相等则匹配成功

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 12:28:20