You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

XML关联XSL样式表无效求助:浏览器未渲染预期页面

XML关联XSL样式表不生效的问题解决

问题描述

每次创建关联对应XSL样式表的XML文件,网页都未应用该样式表。Firefox、Chrome、Microsoft Edge等主流浏览器均出现此问题:

  • 预期显示:Student List
  • 实际显示:First Name Last Name

示例文件

XML文件

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="student.xsl" version="2.0"?>
<class>
    <student>
        <firstname>First Name</firstname>
        <lastname>Last Name</lastname>
    </student>
</class>

XSL文件

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
        <html>
            <body>
                <h2>Student List</h2>
            </body>
        </html>
    </xsl:template>
</xsl:stylesheet>

问题原因

主流浏览器仅支持XSLT 1.0,你在XML和XSL文件中都指定了version="2.0",导致浏览器无法识别并加载样式表,直接回退显示XML的纯文本内容。

解决步骤

  1. 修改XML文件的样式表指令:
    移除version="2.0"属性,或改为version="1.0",修改后的代码:

    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="student.xsl"?>
    <class>
        <student>
            <firstname>First Name</firstname>
            <lastname>Last Name</lastname>
        </student>
    </class>
    
  2. 修改XSL文件的版本声明:
    将xsl:stylesheet标签的version="2.0"改为version="1.0",修改后的代码:

    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:template match="/">
            <html>
                <body>
                    <h2>Student List</h2>
                </body>
            </html>
        </xsl:template>
    </xsl:stylesheet>
    
  3. 验证文件路径:
    确保XML和XSL文件放在同一目录下,浏览器打开XML时能正常读取到XSL文件。

验证结果

修改后重新用浏览器打开XML文件,即可看到预期的Student List标题。

内容的提问来源于stack exchange,提问作者Mocking Bird

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 16:05:31