2011-07-05 40 views
3

我有XML,看起來像這樣:獲取XSL最後的幾個節點,跨越父母

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

我想獲得最後三個項目。然而,我不能只是得到列表中最後一項的最後三項,因爲有時最後一項沒有三項(在這個例子中,如果我們在一個新月中,並且只有一個項目被髮布至今)。

如何獲取最後三項而不用擔心它們屬於哪個父項?

+2

提供的數據不是良好的XML。 –

+0

我把它作爲一個廣泛的例子。我正在使用不提供原始XML的CMS。 – Jon

+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> 
+0

+1,和我的輸入添加到您的答案,所以我可以刪除我的答案。 –

+1

這工作很好。謝謝! – Jon

+0

不客氣。 –