当前位置: 代码迷 >> XML/SOAP >> XML+XSL调用Javascript输出,中文会是乱码,该怎么处理
  详细解决方案

XML+XSL调用Javascript输出,中文会是乱码,该怎么处理

热度:591   发布时间:2012-02-09 18:22:27.0
XML+XSL调用Javascript输出,中文会是乱码
我用XML+XSL,XSL调用Javascript输出,会出现乱码
index.xml
XML code
<?xml version="1.0" encoding="GB2312"?>
<?xml:stylesheet type="text/xsl" href="index.xsl"?>
<单位>
    <名称>单位的名称</名称>
    <Logo>img/Logo.jpg</Logo>
    <英文名>MC</英文名>

    <目录>
        <分类>
            <ID>00001</ID>
            <标题>百度</标题>
            <链接>http://www.baidu.com</链接>
            <打开方式>_blank</打开方式>
        </分类>
        <分类>
            <ID>00002</ID>
            <标题>谷歌</标题>
            <链接>http://www.google.cn</链接>
            <打开方式>_blank</打开方式>
        </分类>
        <分类>
            <ID>00003</ID>
            <标题>腾讯</标题>
            <链接>http://www.qq.com</链接>
            <打开方式>_blank</打开方式>
        </分类>
        <分类>
            <ID>00004</ID>
            <标题>网易</标题>
            <链接>http://www.163.com</链接>
            <打开方式>_blank</打开方式>
        </分类>
    </目录>
</单位>


index.xsl
XSL代码:
<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="text()">
<xsl:value-of/>
</xsl:template>
<xsl:template match="/">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html" charset="GB2312"/>
<title><xsl:value-of select="单位/名称"/> - <xsl:value-of select="单位/英文名"/></title>
<link rel="Stylesheet" href="index.css" type="text/css"/>
<script language="javascript" src="js/timer.js"></script>
</head>
<body onload="show5()">
<div id="Logo">
<img id="imgLogo">
<xsl:attribute name="src">
<xsl:value-of select="单位/Logo"/>
</xsl:attribute>
<xsl:attribute name="title"><xsl:value-of select="单位/名称"/></xsl:attribute>
</img>
</div>
<div id="liveclock"></div>
<div id="ML">
<xsl:apply-templates select="单位/目录"/>
</div>
</body>
</html>
</xsl:template>
<xsl:template match="目录">
<xsl:for-each select="分类">
<a>
<xsl:attribute name="href">
<xsl:value-of select="链接"/>
</xsl:attribute>
<xsl:attribute name="target">
<xsl:value-of select="打开方式"/>
</xsl:attribute>
<xsl:attribute name="title">
<xsl:value-of select="标题"/>
</xsl:attribute>
<xsl:value-of select="标题"/></a>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

timer.js
JScript code
function show5(){ 
if (!document.layers&&!document.all) return;
var digital=new Date();
var hours=digital.getHours();
var minutes=digital.getMinutes();
var seconds=digital.getSeconds();

if (hours <=9) hours="0"+hours;
if (minutes <=9) minutes="0"+minutes;
if (seconds <=9) seconds="0"+seconds;
  相关解决方案