说我有以下XML片段:
<ul>
<li>alice</li>
<li>bob</li>
<li>carla</li>
<li>dave</li>
<li>eric</li>
<li>fanny</li>
</ul>
<team>Team 1</team>
我想要最后3名成员(戴夫,埃里克,范妮)。
我可以使用//team/preceding::li
抓住所有团队成员。
我没有成功抓住范围
的最后3名成员 //team/preceding::li[last()-3 to last()]
或职位
//team/preceding::li[position() > last()-3]
答案 0 :(得分:2)
当您处理解决preceding::
的情况时,订单则相反 - 然后返回文档订单。
xml sel -t -c '//team/preceding::li[position() <= 3]' foo.xml
<li>dave</li><li>eric</li><li>fanny</li>
答案 1 :(得分:1)
对于XML
<ul>
<li>alice</li>
<li>bob</li>
<li>carla</li>
<li>dave</li>
<li>eric</li>
<li>fanny</li>
</ul>
使用
//li[position() > last() - 3]
它恰好选择最后3个节点。