网友俱乐部 » 网络编程 » XML教程 » 2.2.4 CDATA

2007-2-25 17:30 hinet
2.2.4 CDATA

2.2.4 CDATA
   

    正象我们前面所说,我们可以把XML文件中除标记以外的所有内容都看作是字符数据,而把标记中的所有内容都看作置标。不过,也有一个例外。在一个特殊的标记CDATA下,所有的标记、实体引用都被忽略,而被XML处理程序一视同仁地当作字符数据看待。CDATA的形式如下:
〈![CDATA[
文本内容
]]〉
聪明的读者可能已经猜出,CDATA的文本内容中是不能出现字符串“]]〉”的,因为它代表了CDATA数据块的结束标志。
在前面讲字符数据时,我们谈到过实体引用。可想而知,当你的文本数据中包含大量特殊符号时,你不得不通篇地使用实体引用,把本来很清晰的一段文字搞得乱七八糟。例如在前面的例子中,我们在“示例”元素中放入了一个XML程序。这时,如果没有CDATA,那么麻烦来了。这个元素需要写成下面的样子:
<示例>
                <联系人>
                <姓名>张三</姓名>
                <EMAIL>[email]zhang@aaa.com[/email]</EMAIL>
                </联系人>

哇,你要把所有的标记都用实体引用改写,最后写出来的东西连你自己都看不懂了。
为了避免这种不便,你可以把这些字符数据放在一个CDATA数据块中,这样不管它看上去是一个标记还是一个实体引用,这些数据统统被当作字符照单全收。于是,上面的元素就可以写为这个样子:
<示例>
            <[CDATA[
                <姓名>张三
                [email]zhang@aaa.com[/email]
               
            ]]>

清楚多了吧!

页: [1]
查看完整版本: 2.2.4 CDATA


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.