- 首先,XSL与XML的编码都要选择gb2312,不知道为什么XML的UTF-8似乎有问题,不能显示有些字符。
- 在XSL文件中插入这一句
<xsl:output encoding="gb2312"/>
比如这个XSL范例:
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:output encoding="gb2312"/>
<xsl:template match="/学生信息">
<html>
<head>
<title>实验2</title>
</head>
<body>
<h1>实验2</h1>
<hr/>
<h4>学生信息</h4>
<table border="1">
<tr>
<th colspan="3">学生信息</th>
</tr>
<tr>
<td>姓名:</td>
<td colspan="2"><xsl:value-of select="姓名/姓"/><xsl:value-of select="姓名/名"/></td>
</tr>
<tr>
<td>身份证号码:</td>
<td colspan="2"><xsl:value-of select="身份证号码"/></td>
</tr>
<tr>
<td>照片:</td>
<xsl:variable name="PicPath"><xsl:value-of select="照片/图片路径"/></xsl:variable>
<td colspan="2"><img src="{$PicPath}" name="pic"/></td>
</tr>
<tr>
<td>学号:</td>
<td colspan="2"><xsl:value-of select="学号"/></td>
</tr>
<tr>
<td>地址:</td>
<td colspan="2"><xsl:value-of select="地址/省"/>省<xsl:value-of select="地址/市"/>市<xsl:value-of select="地址/区"/>区</td>
</tr>
<tr>
<td>生日:</td>
<td colspan="2"><xsl:value-of select="生日/年"/>年<xsl:value-of select="生日/月"/>月<xsl:value-of select="生日/日"/>日</td>
</tr>
<tr>
<td>身高:</td>
<td colspan="2"><xsl:value-of select="身高"/></td>
</tr>
<tr>
<td>体重:</td>
<td colspan="2"><xsl:value-of select="体重"/></td>
</tr>
<tr>
<td>入学年份:</td>
<td colspan="2"><xsl:value-of select="入学年份"/>年</td>
</tr>
<th colspan="3">课程信息</th>
<xsl:for-each select="课程信息/课程">
<tr>
<td rowspan="4"><xsl:value-of select="课程名"/></td>
<td>课程号码:</td>
<td><xsl:value-of select="课程号码"/></td>
</tr>
<tr>
<td>执教老师:</td>
<td><xsl:value-of select="执教老师"/></td>
</tr>
<tr>
<td>分数:</td>
<td><xsl:value-of select="分数"/></td>
</tr>
<tr>
<td>学分:</td>
<td><xsl:value-of select="学分"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>