我在解决这个问题时遇到了一些麻烦,我确实需要一些帮助。 我想存储具有非空的兄弟的最小变量。 我有一个XML至极看起来是这样的:基于同级对xslt节点进行排序
<Root>
<Item>
<ValueOne>5</ValueOne>
<Item>bababa</Item>
</Item>
<Item>
<ValueOne>3</ValueOne>
<Item>ababa</Item>
</Item>
<Item>
<ValueOne>1</ValueOne>
<Item/>
</Item>
</Root>
所以我想最小ValueOne至极同级项目具有价值。 我的想法是这样的:
<xsl:variable name="var">
<xsl:for-each select="Root/Item">
<xsl:if test="not(/Item = '')">
<xsl:sort data-type="text"/>
<xsl:if test="position()=1">
<xsl:value-of select="/Item"/>
</xsl:if>
</xsl:if>
</xsl:for-each>
</xsl:variable>
但这并不工作,我不知道为什么。正如你可能会告诉我不是最好的xslt ... 我不能重命名xml中的任何内容或更改它的结构。
编辑:代码
在你的例子中,没有空的Item。最后一个Item/Item包含两个换行符和9个空格(或一个制表符?)。假设你的意思是合法的有效载荷。如果不是,您可以使用normalize-space将其删除。请澄清。 –
我编辑了xml,没有空格,没有值。 – user2235494