2

我使用 XSLT 将 XML 文件转换为 html。它在 Internet Explorer 中运行良好,但当我在 Chrome、Firefox、Opera 中尝试相同时,它显示 HTML 代码并且不加载页面。

我用谷歌搜索,发现 xml-stylesheet 类型应该是 chrome、Firefox 的 application/XML。但它没有用。下面是我的 xml 命名空间,

    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
           xmlns:lxslt="http://xml.apache.org/xslt" version="1.0">
    <xsl:output method="html" indent="yes" />

这是我的xml代码,

<?xml version="1.0" encoding="ISO-8859-1"?>

<UserTabs>
<ToolInfo>
  <Name name = "test"/>
</ToolInfo>

<BannerTabs>
    <Tab name="HOME" Url="http://www.test.com"/>
    <Tab name="HISTORY" Url="/com/servlet/test.servlet?func=history"/>
    <Tab name="ABOUT" Url="/com/servlet/test.servlet?func=about" absUrl="true"/>
    <Tab name="EXIT" Url="/com/servlet/test.servlet?func=logout"/>
</BannerTabs>


<MenuTabs>

</MenuTabs>


<Navigation>
    <Menu bgcolor="#E0E0E0" name="Change.Language">
        <Item href="/com/servlet/test.servlet?func=customize" icon="bluebutton.gif" name="CUSTOMIZE" target="main" textcolor="blue" value="">
        </Item>
    </Menu>


</Navigation>   

<languages>
    <lang name="English (en)" Url="en"/>
</languages>




<runtime>
</runtime>
</UserTabs>
4

1 回答 1

1

在搜索和谷歌搜索后,我找到了自己问题的解决方案,

我的 XSL 和 XML 命名空间是正确的,但我需要在 servlet 中添加 doGet 和 doPost 中的响应内容类型。我已经添加了它,它现在可以工作了。MIME 类型可以在下面的链接中找到,

于 2013-10-23T07:52:53.070 回答