xml特殊字符的处理

xml特殊字符的处理

当把序列化之后的数据直接存在xml中后,在解析xml时遇到解析错误,原因是有非法字符。这个时候,必须要把这些特殊字符替换为内建实体。

 

xml特殊字符的处理

1、使用XML文档中预定义好的实体替换

字符  转移字符 备注
< &lt; 小于号
> &gt; 大于号
& &amp; 逻辑与
' &apos; 单引号
" &quot; 双引号

需要说明的是


a. 转义序列各字符间不能有空格;
b. 转义序列必须以“;”结束;
c. 单独的&不被认为是转义开始。
d. 区分大小写 

2、XML中CDATA部件


在CDATA内部的所有内容都会被解析器忽略。

如果文本包含了很多的"<"字符和"&"字符——就象程序代码一样,那么最好把他们都放到CDATA部件中。

一个 CDATA 部件以"<![CDATA[" 标记开始,以"]]>"标记结束:

  •  
  • XML 代码   复制
  • <script>
    <![CDATA[
    function matchwo(a,b)
    {
    if (a < b && a < 0) then
    {
    return 1
    }
    else
    {
    return 0
    }
    }
    ]]>
    </script>
    		
  • 在前面的例子中,所有在CDATA部件之间的文本都会被解析器忽略。

    CDATA注意事项


    CDATA部件之间不能再包含CDATA部件(不能嵌套)。如果CDATA部件包含了字符"]]>" 或者"<![CDATA[" ,将很有可能出错哦。

    同样要注意在字符串"]]>"之间没有空格或者换行符。

    标签: