CDATA区
通过上个小节的学习,了解到XML文档中的特殊字符在解析时,可以通过转义字符的方式来处理。但是,当一个XML文档中包含了一段Java代码,代码中存在多个小于号(<)、大于号(>)、双引号(“)、单引号(‘)、和单与号(&)这些特殊字符时,如果逐个字符去转换,显然是非常麻烦的,这时,可以将这段代码放在CDATA区中。
CDATA是Character Data的简写,即字符数据,CDATA区指的是不想被程序解析的一段原始数据,它以“<![CDATA[”开始,以“]]>”结束,接下来通过一个案例来演示如何将一段Java程序存放在CDATA区,如例1所示。
例1 java.xml
1 <?xml version="1.0"?>
2 <java>
3 <![CDATA[
4 if(a>b&&c<b)
5 max=a;
6 ]]>
7 </java>
用IE5.0以上的浏览器打开java.xml文件,结果如图1所示。
图1 运行结果
从运行结果可以看出,CDATA区中的数据被解析器忽略,全部以原始的形式显示在浏览器上。需要注意的是,在使用CDATA区时,其中的“<![CDATA[”不能写成“<![cdata[”或“<![Cdata[”。另外,CDATA区内部不能出现字符串“]]>”,因为它代表了CDATA区的结束标志。