xml关于cdata的问题

<?xmlversion="1.0"encoding="ISO-8859-1"?><emails><email><from>nowhere@notadomain.tld<... <?xml version="1.0" encoding="ISO-8859-1" ?>
<emails>
<email>
<from>nowhere@notadomain.tld</from>
<to>unknown@unknown.tld</to>
<subject>there is no subject</subject>
<body><![CDATA[is it a body? oh ya, with some texts
& symbols]]></body>
</email>
</emails>
问题:
<![CDATA[is it a body? oh ya, with some texts
& symbols]]>, 表示什么意思?
展开
 我来答
actonst
2013-05-10 · TA获得超过1.8万个赞
知道大有可为答主
回答量:8184
采纳率:80%
帮助的人:5126万
展开全部
简单的说,因为元素内容有在XML中不合法的字符(这里是&),不能直接写,要么就将其转义(&要写成& amp ; ),要么就用CDATA段将其包含在内,这样就合法了。
你可以试着将<![CDATA[和]]>去掉,则xml文件将会出错。

CDATA定义如下:
术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。
在 XML 元素中,"<" 和 "&" 是非法的。
"<" 会产生错误,因为解析器会把该字符解释为新元素的开始。
"&" 也会产生错误,因为解析器会把该字符解释为字符实体的开始。
某些文本,比如 JavaScript 代码,包含大量 "<" 或 "&" 字符。为了避免错误,可以将脚本代码定义为 CDATA。
CDATA 部分中的所有内容都会被解析器忽略。
CDATA 部分由 "<![CDATA[" 开始,由 "]]>" 结束:
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式