标题: 2.2.4 CDATA
hinet
荣誉会员
Rank: 1



荣誉会员奖章
UID 46695
精华 0
积分 2412
帖子 1189
威望 0
金币 1158
热心 26
阅读权限 50
注册 2007-2-25
状态 离线
2.2.4 CDATA

2.2.4 CDATA
   

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

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

清楚多了吧!

顶部
[广告] 免费域名(Free Subdomain) 免费空间(Free hosting) PR查询(Google Pagerank)



当前时区 GMT+8, 现在时间是 2008-10-12 01:22
信产部ICP备案:京ICP备05066424号 北京市公安局网监备案:1101050648号

Powered by Discuz! 5.5.0
清除 Cookies - 联系我们 - 网友俱乐部 - Archiver - WAP