问题是,当我在.xsl文件中保存下拉列表的代码时,在浏览器中打开我的.xml文件后,我得到了屏幕上显示的.xml文件的所有文本的输出。我在处理下拉列表之前的所有输出都消失了,取而代之的是一个巨大的文本块。我需要出现包含我使用xsl编辑的所有内容的下拉列表。
下拉列表的XML代码:
<selectlist>
<selectName num="1">
<memberName>Slash</memberName>
</selectName>
<selectName num="2">
<memberName>Axl</memberName>
</selectName>
<selectName num="3">
<memberName>Duff</memberName>
</selectName>
<selectName num="4">
<memberName>Izzy</memberName>
</selectName>
<selectName num="5">
<memberName>Steven</memberName>
</selectName>
<selectName num="6">
<memberName>Matt</memberName>
</selectName>
<selectName num="7">
<memberName>Gilby</memberName>
</selectName>
<selectName num="8">
<memberName>Ashba</memberName>
</selectName>
<selectName num="9">
<memberName>Josh</memberName>
</selectName>
<selectName num="10">
<memberName>Buckethead</memberName>
</selectName>
</selectlist>XSL代码(粗体部分负责下拉菜单):
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="*">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="text()">
<xsl:apply-templates/>
</xsl:template>
<xsl:for-each select="/selectlist/selectName">
<option VALUE="{memberName}">
<xsl:value-of select="memberName"/>
</option>
</xsl:for-each>
</xsl:stylesheet> `如果我实际上没有注意到一些明显的东西,请原谅,我只是web开发的初学者,xslt给我带来了很大的困难。我们将非常感谢您的帮助!
发布于 2014-11-23 06:30:11
您不能仅仅将for-each放在样式表中,它需要是模板的一部分。
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/selectlist">
<xsl:for-each select="selectName">
<option VALUE="{memberName}">
<xsl:value-of select="memberName"/>
</option>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet> `https://stackoverflow.com/questions/27083031
复制相似问题