我一直在尝试使用XSL迭代XML文件,但是由于唯一的第一语言被识别,我遇到了重大麻烦.救命!
<?xml version="1.0"?>
<languages count="1">
<language>English (UK)</language>
<language>Spanish</language>
<language>Arabic</language>
</languages>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<body>
<table border="1">
<tr>
<xsl:for-each select="languages">
<th>
<xsl:value-of select="language"/>
</th>
</xsl:for-each>
</tr>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)
languages根目录下只有一个节点.
您应该使用模板而不是for-each尽可能:
<xsl:template match="language">
<th>
<xsl:value-of select="."/>
</th>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)
并在主模板中调用它:
<tr>
<xsl:apply-templates select="languages/language"/>
</tr>
Run Code Online (Sandbox Code Playgroud)