因为XML跨平台性,所以通常用来处理不同系统间的少量数据交互,但是某些情况下数据含有特殊的字符,又不希望被解析,比如数据含有<,含有 等。
我是这样处理的,在XML文件中家CDATA来告诉解析器,这个文本不解析,这样设置后一般的数据都可以处理了,但是空格 ,用xsl文件转化后就变成&nbsp 我是希望 原原本本到解析后的html中。后来找到一个属性disable-output-escaping="yes",将内容原本地转化。
最后我的xml文件是这样的
<?xml version="1.0" encoding="GB2312"?>
<?xml-stylesheet type="text/xsl" href="docdata.xsl"?>
<data><TxGztt><![CDATA[你好 <br>XXXX]]></TxGztt></data>
XSL文件如下
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>
<xsl:template match="/">
<h2 align="center"><font color="#FF0000" face="楷体_GB2312"><xsl:value-of disable-output-escaping="yes" select="data/TxGztt"/><br/>
</font></h2>
结果是
总结:
通过这个方式,含有<,&nsbp的问题都解决了,就是不知道会不会出现什么未知错误。