XML特殊转义规则

xml一般的转义规则大家都知道,

xml属性和xml文本节点需要转义

&  -->  &

"  -->  "

'  --> '

<  -->  <

>  -->  >


CDATA节点中不需要转义这些


但是以下这些特殊情况要怎么转义呢

不可见字符或无效字符,例如ascii码为0x01的字符

规则:以&#开头,加上该字符unicode编码的值,以;结尾,例如:




CDATA中包含]]>

规则:将]]>拆分开,分别用多段CDATA括起来,例如a节点下CDATA节点值为A]]>B]]>,表示为

A]]]]>>B]]]]>>]]>


CDATA中包含不可见字符或无效字符

规则:将无效字符保持在CDATA外进行xml转义,例如a节点下CDATA节点值为A  B,表示为



所以,

用成熟的xml库来生成xml字符串,

或者自己写一个专门用来组装xml的类或函数,

不要使用字符串连接来组装xml了



你可能感兴趣的:(XML特殊转义规则)