我有XML数据,我正在尝试使用XSL格式化数据。我正在学习一些教程。在Internet Explorer中预览XML时,数据在一行上;在使用Firefox进行预览时,我收到错误消息:
加载样式表时出错:解析XSLT样式表失败。
这里是XML:
<?xml version= "1.0"?>
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<countries>
<country>
<countryname>United States</countryname>
</country>
<country>
<countryname>United Kingdom</countryname>
</country>
<country>
<countryname>Deutschland</countryname>
</country>
<country>
<countryname>Osterreich</countryname>
</country>
<country>
<countryname>Espana</countryname>
</country>
<country>
<countryname>France</countryname>
</country>
<country>
<countryname>Italia</countryname>
</country>
<country>
<countryname>China</countryname>
</country>
<country>
<countryname>Hong Kong</countryname>
</country>
<country>
<countryname>Japan</countryname>
</country>
<country>
<countryname>Singapore</countryname>
</country>
<country>
<countryname>Taiwan</countryname>
</country>
<country>
<countryname>Malaysia</countryname>
</country>
</countries>
这是XSL:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/countries">
<html>
<body>
<xsl:for-each select="country"
<xsl:value-of select="countryname"/><br/>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylsheet>
为什么浏览器不显示XSL模板描述的XML文档?
谢谢!
答案 0 :(得分:2)
<xsl:for-each select="country"
必须为<xsl:for-each select="country">
。
请注意结束>
。
此外,您可能希望删除文档第一行的前导空格(如果存在):
<?xml version="1.0" encoding="ISO-8859-1"?>
VS
<?xml version="1.0" encoding="ISO-8859-1"?>
</xsl:stylsheet>
必须为</xsl:stylesheet>
进行这些更改后,会显示国家/地区列表。
考虑使用具有语法突出显示功能的文本编辑器编辑XML和XSL,并在视觉上提醒您这些错误。