xml特殊字符的处理
xml特殊字符的处理当把序列化之后的数据直接存在xml中后,在解析xml时遇到解析错误,原因是有非法字符。这个时候,必须要把这些特殊字符替换为内建实体。
xml特殊字符的处理
1、使用XML文档中预定义好的实体替换
字符 | 转移字符 | 备注 |
< | < | 小于号 |
> | > | 大于号 |
& | & | 逻辑与 |
' | ' | 单引号 |
" | " | 双引号 |
需要说明的是
a. 转义序列各字符间不能有空格;
b. 转义序列必须以“;”结束;
c. 单独的&不被认为是转义开始。
d. 区分大小写
2、XML中CDATA部件
在CDATA内部的所有内容都会被解析器忽略。
如果文本包含了很多的"<"字符和"&"字符——就象程序代码一样,那么最好把他们都放到CDATA部件中。
一个 CDATA 部件以"<![CDATA[" 标记开始,以"]]>"标记结束:
<script>
<![CDATA[
function matchwo(a,b)
{
if (a < b && a < 0) then
{
return 1
}
else
{
return 0
}
}
]]>
</script>
在前面的例子中,所有在CDATA部件之间的文本都会被解析器忽略。
CDATA注意事项
CDATA部件之间不能再包含CDATA部件(不能嵌套)。如果CDATA部件包含了字符"]]>" 或者"<![CDATA[" ,将很有可能出错哦。
同样要注意在字符串"]]>"之间没有空格或者换行符。