以相反的顺序获取xml值

以相反的顺序获取xml值,xml,xslt,xslt-1.0,Xml,Xslt,Xslt 1.0,我有一个从SqlTable获取的xml,如下所示 <root> <item> <Column1> <TT TXT1="Item3" /> <TT TXT1="Item2" /> <TT TXT1="Item1" /> </Column1> </item> </root> 像这样 我试过一些代码,比如 <xsl:variable name=

我有一个从SqlTable获取的xml,如下所示

<root>
 <item> 
   <Column1>
    <TT TXT1="Item3" />
    <TT TXT1="Item2" />
    <TT TXT1="Item1" /> 
   </Column1>
 </item>
</root>
像这样

我试过一些代码,比如

<xsl:variable name="txt1-atts" select="$Item.xml//TT/@TXT1"></xsl:variable>
<xsl:for-each select="$txt1-atts">
<xsl:if test="position() > 1">, </xsl:if>
<xsl:value-of select="."/>
</xsl:for-each>

, 
但是它没有得到值。有人帮忙吗…?

使用

<xsl:for-each select="$txt1-atts">
  <xsl:sort select="position()" order="descending" data-type="number"/>
  <xsl:if test="position() > 1">, </xsl:if>
   <xsl:value-of select="."/>
</xsl:for-each>

, 

以相反的顺序处理属性。

我在您发布的示例中没有看到任何
。好的。。。我试过这个,但是txt1 ATT没有任何价值。为什么这个??在您的示例中
看起来也是错误的,您可能需要
。这假定文件
Item.xml
是转换的辅助输入文档。我不确定情况是否如此,如果您仍然存在问题,请编辑您的问题,提供最小但完整的样本,以便我们重现问题(
$Item
来自哪里)?项来自存储过程,因此我使用了如果变量名是
item
,那么XPath中的变量引用应该是
$item
,而不是
$item.xml
。但我不知道存储过程及其返回类型如何与XSLT/XPath交互,所以我不确定您想要实现什么。如果您用您使用的框架或API的相应标记来标记问题,可能其他人可以提供帮助。
<xsl:for-each select="$txt1-atts">
  <xsl:sort select="position()" order="descending" data-type="number"/>
  <xsl:if test="position() > 1">, </xsl:if>
   <xsl:value-of select="."/>
</xsl:for-each>