通常来讲,出现在xml中的以下字符是要进行实体转义的:
<转化成<
>转化成>
‘转化成'
“转化成"
&转化成&
(当然是如果放在CDATA字段中就不需要进行实体转义处理了)
而对于Xml中不可使用的特殊字符,在1.0和1.1版本中定义是不同的。
XML 1.0给名称(name)提供的是一个严格的定义:其中任何不被允许的,就是禁止的。XML 1.1的名称却是这样设计的:任何不被禁止的(由于某个特定原因),就是允许的。
由于我们通常使用xml1.0,因此只要关注1.0定义中的合法字符,以外的字符都应该去除。
Xml1.0定义:Char::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
因此从#x0到#x1F的控制字符(除了9/A/D 3个以外),在1.0中都是禁止使用的。
=============================================================
附:关于xml中的特殊字符,可以参考以下2个文档:
XML 1.0 第2版:
http://lightning.prohosting.com/~qqiu/REC-xml-20001006-cn.html
XML 1.1 建议推荐标准:
http://www.w3china.org/translation/xml1p1CR20021015_cn.htm