在XSL中获取最后几个节点,跨越父节点

时间:2011-07-05 18:17:41

标签: xml xslt xpath

我的XML看起来像这样:

<2011>
  <05>
    (item)
    (item)
  </05>
  <06>
    (item)
  </06>
</2011>

我想得到最后三项。但是,我不能只获得列表中最后一项的最后三项,因为有时最后一项没有三项(在这个例子中,如果我们在新的月份,并且只发布了一个项目至今)。

如何获取最后三项而不必担心他们属于哪一位?

1 个答案:

答案 0 :(得分:3)

这是我正在谈论的XSLT,假设@polishchuk输入:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

 <xsl:template match="/">
     <xsl:copy-of select="(/*/*/*)[position()>last()-3]"/>
 </xsl:template>

</xsl:stylesheet>