相关疑难解决方法(0)

用于获取元素的第n个实例的XPath查询

有一个HTML文件(我不控制其内容)有几个input元素都具有相同的固定id属性"search_query".文件的内容可以更改,但我知道我总是希望获得input带有id属性的第二个元素"search_query".

我需要一个XPath表达式来执行此操作.我尝试//input[@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>
Run Code Online (Sandbox Code Playgroud)

请记住,上面只是一个示例,其他HTML代码可能完全不同,input元素可以出现在任何地方,没有一致的文档结构(除了我保证总会有至少两个inputid属性为"search_query").

什么是正确的XPath表达式?

xml xpath

123
推荐指数
2
解决办法
12万
查看次数

仅使用XPath选择第一个实例?

我正在解析一些像这样的XML:

<root>
    <some_gunk/>
    <dupe_node>
        ...
        stuff I want
        ...
    </dupe_node>
    <bits_and_pieces/>
    <other_gunk/>
    <dupe_node>
        ...
        stuff I don't want
        ...
    </dupe_node>
    <more_gunk/>
</root>
Run Code Online (Sandbox Code Playgroud)

一个XPath '//dupe_node'会给我两个dupe_node玩的例子.我只想穿越第一个.我可以用XPath做到这一点吗?

xml xpath

19
推荐指数
2
解决办法
3万
查看次数

标签 统计

xml ×2

xpath ×2