gpt4 book ai didi

xml - 限制 for-each 循环 XSL 中排序结果的数量

转载 作者:数据小太阳 更新时间:2023-10-29 01:56:33 25 4
gpt4 key购买 nike

我正在尝试查看是否可以在经过多个节点的 XSL 文件中设置 for-each 循环,但我想这样做以便仅返回前 3 个结果,例如

<course>
<unit>
<result>80</result>
</unit>
<unit>
<result>77</result>
</unit>
<unit>
<result>96</result>
</unit>
<unit>
<result>69</result>
</unit>
</course>

然后使用类似于以下的 for-each 循环:

<xsl:for-each select="/course/unit">
<xsl:sort select="result" data-type="number" order="descending"/>
<xsl:value-of select="result"/>
</xsl:for-each>

但问题是如果我这样做: <xsl:for-each select="/course/unit[position() &lt;= 3]">它将获取前 3 个节点,然后对其进行排序,这不是我需要的,我希望它获得 3 个最高分并返回这些节点以显示信息,而不是在它们完成所有循环后对结果进行排序。我确信有一种无需使用模板即可实现此目的的简单方法,因此将不胜感激任何提示。

最佳答案

使用

<xsl:for-each select="/course/unit">
<xsl:sort select="result" data-type="number" order="descending"/>
<xsl:if test="position() &lt;= 3">
<xsl:value-of select="result"/>
</xsl:if>
</xsl:for-each>

关于xml - 限制 for-each 循环 XSL 中排序结果的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18852864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com