如何通过XPath选择第一个元素?

时间:2016-07-22 13:10:07

标签: html xml xpath

我有以下HTML结构

<div class="carousel">
  <ul class ="carousel-view">
    <li>
      <figure>
        <a id="one"/>
      </figure>
    </li>
    <li>
      <figure>
        <a id="two"/>
      </figure>
    </li>
  </ul>
</div>

如何使用XPath访问第一个a元素?请注意,列表中有多个a元素。

2 个答案:

答案 0 :(得分:7)

这些XPath表达式中的任何一个都将选择第一个a元素:

  • (//a)[1]在整个文档中选择第一个a
  • (/div/ul/li/figure/a)[1]选择带有展示遗产的第一个a
  • (//div[@class='carousel']/ul/li/figure/a)[1]限制了遗产。
  • (//div[@class='carousel']//a)[1]抽象出一些遗产。

根据实际文档中显示的XML的上下文选择,以及是否希望将a元素限制为仅限于某些其他元素下的元素。

常见错误

请注意,//a[1]实际上会选择 多个 a元素:

<a id="one"/>
<a id="two"/>

因为//a[1]表示选择a元素作为其父的第一个子元素。

您必须使用括号(//a)[1]来选择

<a id="two"/>

单独作为文档中的第一个a

答案 1 :(得分:0)

试试这个xpath: -

(//li/descendant::a)[1]