当前位置:  开发笔记 > 前端 > 正文

如何使用XPath选择最后N个元素?

如何解决《如何使用XPath选择最后N个元素?》经验,为你挑选了1个好方法。

我支持一个生成内容XML的网站,然后使用XSLT将其翻译成网页.我被要求创建一个新的样式表,它将"存档"页面的输出转换为Atom以进行联合.我遇到的问题是存档页面包含相当多的项目 - 142和计数 - 并且Feed应该永远不会有超过30个项目.

目前,存档页面的输出如下所示:


    
        
            
            
            ...
        

        ...
    

    ...

yearmonth标签由HTML中使用的变换,但完全不相干的一个Atom feed.我曾希望使用position()带有后代轴的函数可以工作(//day[position()>last()-30]),但这会选择每个月的最后30天,这根本不是我需要的.:-)

有没有办法用XSLT或XPath做到这一点?必须修改XML生成器以添加(例如)feed="true"过去30天的属性,这似乎是一个非常讨厌的问题.



1> baretta..:

position()/ last()返回当前上下文中的位置/最后位置,因此当导航器位于一个中时,position()将在该月内返回,而last()将返回last 那个月内,但我想你知道的.

因此,你可以做的就是将所有压缩成一个数组并放入一个变量,然后再像以前一样选择.



推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有