以相反的顺序获取xml值
我有一个从SqlTable获取的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=
<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>