|
|
|
[XML初学进阶]XML(18) 网上资源
|
|
2.2.4 CDATA
正象我们前面所说,我们可以把XML文件中除标记以外的所有内容都看作是字符数据,而把标记中的所有内容都看作置标。不过,也有一个例外。在一个特殊的标记CDATA下,所有的标记、实体引用都被忽略,而被XML处理程序一视同仁地当作字符数据看待。CDATA的形式如下:
〈![CDATA[文本内容]]〉
聪明的读者可能已经猜出,CDATA的文本内容中是不能出现字符串“]]〉”的,因为它代表了CDATA数据块的结束标志。
在前面讲字符数据时,我们谈到过实体引用。可想而知,当你的文本数据中包含大量特殊符号时,你不得不通篇地使用实体引用,把本来很清晰的一段文字搞得乱七八糟。例如在前面的例子中,我们在“示例”元素中放入了一个XML程序。这时,如果没有CDATA,那么麻烦来了。这个元素需要写成下面的样子:
<示例> <联系人> <姓名>张三</姓名> <EMAIL>zhang@aaa.com</EMAIL> </联系人></示例>
哇,你要把所有的标记都用实体引用改写,最后写出来的东西连你自己都看不懂了。
为了避免这种不便,你可以把这些字符数据放在一个CDATA数据块中,这样不管它看上去是一个标记还是一个实体引用,这些数据统统被当作字符照单全收。于是,上面的元素就可以写为这个样子:
<示例> <![CDATA[ <联系人> <姓名>张三</姓名> <EMAIL>zhang@aaa.com</EMAIL> </联系人> ]]></示例>
清楚多了吧!
| |
|
|
|