2016-09-26 53 views
0

假设我有这个xml数据。什么我需要做的是循环遍历这个,给我最早5.所以最新到最旧,只输出5订购xsl for循环以及将循环限制为只有五个

我curently做

<xsl:for-each select="TEST_DATA[not(position() >5)]"> 
    <xsl:sort select="DATE" order="descending"/> 
     The rest of the mapping... 

<TEST_DATA> 
    <DATE>20160401</DATE> 
    </TEST_DATA> 
<TEST_DATA> 
    <DATE>20160501</DATE> 
</TEST_DATA> 
<TEST_DATA> 
    <DATE>20160601</DATE> 
</TEST_DATA> 
<TEST_DATA> 
    <DATE>20160301</DATE> 
</TEST_DATA> 
<TEST_DATA> 
    <DATE>20150201</DATE> 
</TEST_DATA> 
<TEST_DATA> 
    <DATE>20110301</DATE> 
</TEST_DATA> 
<TEST_DATA> 
    <DATE>20160301</DATE> 
</TEST_DATA> 
<TEST_DATA> 
    <DATE>20160101</DATE> 
</TEST_DATA> 

回答

1

改变,要

<xsl:for-each select="TEST_DATA"> 
    <xsl:sort select="DATE" order="descending"/> 
    <xsl:if test="position() &lt;= 5">...</xsl:if> 
</xsl:for-each> 
+0

这对我来说也是一样。只给我5,但它没有排序。 –

+0

Nvm用户错误。这样可行!谢谢! –