【问题标题】:How can I select the second last item in a xpath query?如何在 xpath 查询中选择倒数第二项?
【发布时间】:2014-04-25 01:14:36
【问题描述】:

我是 xpath 的新手,我了解如何在 xpath 中获取一系列值:

/bookstore/book[position()>=2 and position()<=10]

但在我的情况下,我需要超过 2 并且比总数少 1(所以如果有 10,那么我需要 9,或者如果有 5,我需要到第 4 位)。我将我的代码应用于不同的页面,并且条目的数量并不总是相同的。

在 python 中,我可以执行 book[2:-2] 之类的操作,但我不确定是否可以在 xpath 中执行此操作。

【问题讨论】:

  • /bookstore/book[position()&gt;=2 and position() &lt;= (last() - 1)]
  • @helderdarocha 工作!!!你能帮我一个忙,把它作为答案,让我接受吗?非常感谢!

标签: xpath


【解决方案1】:

您可以使用last(),它代表上下文中的最后一项:

/bookstore/book[position()>=2 and position() <= (last() - 1)]

【讨论】:

  • 谢谢,再试一次,它成功了。非常感谢。
  • 无法使用此方法获取
  • 应该是/bookstore/book[position() = (last() - 1)] 吗?因为这个公认的答案确实包括索引 2 和 N - 1 之间的每个节点,而不仅仅是倒数第二个。
【解决方案2】:

在我的情况下,这对我来说是最后一个元素

/bookstore/book[position() = (last() - 1)]

【讨论】:

    猜你喜欢
    • 2021-04-01
    • 1970-01-01
    • 2019-12-18
    • 2019-12-04
    • 1970-01-01
    • 2021-09-23
    • 1970-01-01
    • 2011-07-22
    • 2022-01-22
    相关资源
    最近更新 更多