读书人

什么时候需要用CDATA啊解决方案

发布时间: 2012-02-09 18:22:27 作者: rapoo

什么时候需要用CDATA啊
我的理解是标记中有中文就要用CDATA包含起来,但下面这段RSS代码,为什么title标记和category标记中的中文不用用CDATA包含起来呢

XML code
<?xml version="1.0" encoding="gb2312" ?> - <rss version="2.0">- <channel>  <title>站长资讯</title>   <link>http://www.chinahtml.com/</link>   <description>Latest 20 infos of 站长资讯</description>   <copyright>Copyright(C) Empire CMS</copyright>   <generator>Empire CMS by Empire Studio.</generator>   <lastBuildDate>Fri, 02 Sep 2011 13:02:55 +0000</lastBuildDate>   <ttl>60</ttl> - <image>  <url>http://www.chinahtml.com/e/data/images/rss.gif</url>   <title>站长资讯</title>   <link>http://www.chinahtml.com/</link>   </image>- <item>- <title>- <![CDATA[ 盛大文学疯狂扩展 单季收入过亿   ]]>   </title>- <description>- <![CDATA[  9月9日消息,盛大文学CEO侯小强(微薄)今日在腾讯微薄中爆料,经过一系列整合并购之后,拥有中国7大知名文学网站的盛大文学在第二季度净收入超过一亿元。   ]]>   </description>  <link>http://www.chinahtml.com/1009/128434845019534.html</link>   <guid>http://www.chinahtml.com/1009/128434845019534.html</guid>   <category>互联网</category> - <author>- <![CDATA[   ]]>   </author>  <pubDate>Mon, 13 Sep 2010 03:25:31 +0000</pubDate>   </item>- <item>- <title>- <![CDATA[ IE9采用英特尔实现图形内容渲染  ]]>   </title>- <description>- <![CDATA[  微软和英特尔正在紧密合作,以实现在IE9中的网页浏览硬件加速,IE9将支持Core i系列芯片加速,包括最新的Sandy Bridge。   ]]>   </description>  <link>http://www.chinahtml.com/1009/128434820619533.html</link>   <guid>http://www.chinahtml.com/1009/128434820619533.html</guid>   <category>软件新闻</category> 


[解决办法]
不一定是中文的原因,因为可能内容不一定,可能有其他不定字符呢?所以要用CDATA
[解决办法]
估计是考虑到CDATA中的内容可能包含须转义的字符,所以用CDATA包起来了。
[解决办法]
CDATA是用于需要原文保留的内容,尤其是会在解析xml过程中产生歧义的部分
[解决办法]
内容不被转义 但要避免出现[ [[ ] 等字符

读书人网 >XML SOAP

热点推荐