这个问题在这里已有答案:
我正在尝试检索以下示例中date
元素的最后和最后一个条目:
<c:classroom>Classroom 1</c:classroom>
<a:date>2018-03-01</a:date>
<a:teacher>Ms Smith</a:teacher>
<a:assistant>Sara</a:assistant>
<a:student>Rose</a:student>
<a:student>Kris</a:student>
<a:student>Jane</a:student>
<c:classroom>Classroom 2</c:classroom>
<a:date>2018-03-02</a:date>
<a:teacher>Mr Jones</a:teacher>
<a:assistant>Bob</a:assistant>
<a:student>Mike</a:student>
<a:student>Pat</a:student>
<a:student>Rick</a:student>
<c:classroom>Classroom 1</c:classroom>
<a:date>2018-03-05</a:date>
<a:teacher>Ms Smith</a:teacher>
<a:assistant>Sara</a:assistant>
<a:student>Rose</a:student>
<a:student>Kris</a:student>
<a:student>Jane</a:student>
<c:classroom>Classroom 2</c:classroom>
<a:date>2018-03-06</a:date>
<a:teacher>Mr Jones</a:teacher>
<a:assistant>Bob</a:assistant>
<a:student>Mike</a:student>
<a:student>Pat</a:student>
<a:student>Rick</a:student>
使用//*[local-name() = 'date'][last()]
几乎返回所有内容并使用//*[local-name() = 'date'][last()-1]
失败。
有什么建议?
更新:此XPath查询用于Google表格。
试试这个XPath
(//*[local-name() = 'date'])[last() - position() < 2]
这应该得到文档中的最后两个date
s。