加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml – XPath查询以获取元素的第n个实例

发布时间:2020-12-16 02:00:29 所属栏目:百科 来源:网络整理
导读:有一个HTML文件(其内容我不控制)有几个输入元素都具有相同的固定id属性“search_query”。文件的内容可以改变,但我知道我总是想获得第二个具有id属性“search_query”的输入元素。 我需要一个XPath表达式来做到这一点。我尝试//输入[@ id =“search_query”
有一个HTML文件(其内容我不控制)有几个输入元素都具有相同的固定id属性“search_query”。文件的内容可以改变,但我知道我总是想获得第二个具有id属性“search_query”的输入元素。

我需要一个XPath表达式来做到这一点。我尝试//输入[@ id =“search_query”] [2]但这不工作。以下是此查询失败的示例XML字符串:

<div>
  <form>
    <input id="search_query" />
   </form>
</div>

<div>
  <form>
    <input id="search_query" />
  </form>
</div>

<div>
  <form>
    <input id="search_query" />
  </form>
</div>

请记住,上面的仅仅是一个例子,其他HTML代码可以是完全不同的,输入元素可以出现在任何地方,没有一致的文档结构(除了我保证将总是有至少两个输入元素的id “search_query”的属性)。

什么是正确的XPath表达式?

这是一个常见问题:

// somexpression [$ N]

意味着“查找由// somexpression选择的每个节点,即父节点的$ Nth个子节点”。

你想要的是:

(//input[@id="search_query"])[2]

记住:[]运算符具有比//缩写更高的优先级(优先级)。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读