【问题标题】:XPath expression for last <a> element whose "href" attribute starts with a number?“href”属性以数字开头的最后一个 <a> 元素的 XPath 表达式?
【发布时间】:2016-10-29 18:47:23
【问题描述】:

我想找到一个 XPath 表达式,当它应用于以下页面时:

https://ftp.opera.com/pub/opera-beta/

将返回最终&lt;a&gt; 元素的文本,其href 属性值以数字开头。

如果我只想要最后一个 &lt;a&gt; 元素,我可以简单地编写:

//body/pre/a[last()]/text()

但不幸的是,此页面上的最后一个元素如下所示:

<a href="info/">info/</a>

我想要的是最后一个元素href 属性的值以数字开头。目前是这个值:

<a href="41.0.2353.30/">41.0.2353.30/</a>

那么我可以使用什么替代 XPath 表达式来返回以数字开头的最后一个值?

【问题讨论】:

    标签: html xml xpath


    【解决方案1】:

    如果您使用(//a[number(substring(@href, 1, 1)) = number(substring(@href, 1, 1))])[last()],则选择文档中具有href 属性的最后一个a 元素,其中第一个字符是数字。

    【讨论】:

    • 太棒了! "(//body/pre/a[number(substring(@href, 1, 1)) = number(substring(@href, 1, 1))])[last()]/text()" 找到确切的我正在寻找的文本。非常感谢。
    • @gepree,那么这个答案可以被接受为答案,而不仅仅是感谢。
    猜你喜欢
    • 2011-02-10
    • 1970-01-01
    • 2011-04-18
    • 2012-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-19
    相关资源
    最近更新 更多