xml作为配置文件使用的比较频繁,但是有些特殊的字符,无法直接使用。隐隐约约想起来,xml有个CDATA属性。
在xml文档中所有的文本都会被解析器解析,只有CDATA区域中的文本会被解析器忽略。
为什么都要被解析?
xml解析器这样做的原因是xml元素内部可能还包含了别的元素,像下面的例子,name元素内部还包含了first和last两个元素:
<name>
<first>laozhang</first>
<last>zuishuai</last>
</name>
如果“laozhang”中包含了特殊字符"<",或">"等,就会导致xml解析出错,所以必须将这些特殊字符转成实体。
下面是五个在xml文档中预定义好的实体:
< < 小于号
> > 大于号
& & 和
' ' 单引号
" " 双引号
注意:实体必须以符号"&“开头,以符号”;"结尾。只有"<“字符和”&"字符对于xml是严格禁止使用的,剩下的都是合法的。为了减少出错,使用实体是一个好习惯。
CDATA部件:在CDATA部件内部的所有内容都会被解析器忽略。如果文本中包含了很多的"<“字符和”&"字符,就像程序代码一样,最好把他们都放入到CDATA部件中。
一个CDATA部件以"<![CDATA["标记开始,以"]]>"标记结束。
<![CDATA[ aaa ]]>
CDATA部件中不能包括CDATA部件(不能嵌套)。