我有一个XML结构如下图所示,迭代标签使用XSLT
<NameList> <Name>name01</Name> <Name>name02</Name> <Name>name03</Name> <Name>name04</Name> </NameList>
如何遍历NameList中的子标签,并使用XSLT的XSL显示出来:对,每个? 我的输出中就应该像
name01
name02
姓名03,2
姓名04,2
感谢
我有一个XML结构如下图所示,迭代标签使用XSLT
<NameList> <Name>name01</Name> <Name>name02</Name> <Name>name03</Name> <Name>name04</Name> </NameList>
如何遍历NameList中的子标签,并使用XSLT的XSL显示出来:对,每个? 我的输出中就应该像
name01
name02
姓名03,2
姓名04,2
感谢
我不完全地确定你想要什么,但也许这样吗?
<xsl:template match="/">
<xsl:for-each select="NameList">
<xsl:value-of select="."/>
</xsl:for-each>
</xsl:template>
它提出了
name01 name02 name03 name04
有没有真正需要使用的xsl:for-每个。您可以通过模板匹配来实现这一点,这通常是XSLT中最受欢迎的方法。
您将需要一个模板,你NameList中元素,在这里您可以输出任何“包含”你想要的元素匹配,然后开始选择的子元素
<xsl:template match="NameList">
<table>
<xsl:apply-templates select="Name" />
</table>
</xsl:template>
那么你有一个模板实际上匹配名称元素,您可以以任何您想要的格式输出它。例如
<xsl:template match="Name">
<tr>
<td>
<xsl:value-of select="." />
</td>
</tr>
</xsl:template>
试试这个XSLT对于初学者:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="NameList">
<table>
<xsl:apply-templates select="Name" />
</table>
</xsl:template>
<xsl:template match="Name">
<tr>
<td>
<xsl:value-of select="." />
</td>
</tr>
</xsl:template>
</xsl:stylesheet>
如果你确实想与格式或输出元素的任何更多的帮助,你真的需要在你的问题已经提到了这一点。谢谢!
Thx。我得到了结果。 – Radnerus