如何解决XSL转换XML的时候出现乱码的问题

  1. 首先,XSL与XML的编码都要选择gb2312,不知道为什么XML的UTF-8似乎有问题,不能显示有些字符。
  2. 在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>






  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值