说明:

XML 文档中的所有文本均会被解析器解析。
只有 CDATA 区段中的文本会被解析器忽略。

PCDATA - 被解析的字符数据
XML 解析器通常会解析 XML 文档中所有的文本。

当某个 XML 元素被解析时,其标签之间的文本也会被解析:

<message>This text is also parsed</message>

解析器之所以这么做是因为 XML 元素可包含其他元素,就像这个实例中,其中的 元素包含着另外的两个元素(first 和 last):

<name><first>Bill</first><last>Gates</last></name>

而解析器会把它分解为像这样的子元素:

<name>
<first>Bill</first>
<last>Gates</last>
</name>

解析字符数据(PCDATA)是 XML 解析器解析的文本数据使用的一个术语。

CDATA - (未解析)字符数据
术语 CDATA 是不应该由 XML 解析器解析的文本数据。

像 “<” 和 “&” 字符在 XML 元素中都是非法的。

“<” 会产生错误,因为解析器会把该字符解释为新元素的开始。

“&” 会产生错误,因为解析器会把该字符解释为字符实体的开始。

某些文本,比如 JavaScript 代码,包含大量 “<” 或 “&” 字符。为了避免错误,可以将脚本代码定义为 CDATA。

CDATA 部分中的所有内容都会被解析器忽略。

CDATA 部分由 “<![CDATA[" 开始,由 "]]>” 结束:

<script>
<![CDATA[
function matchwo(a,b)
{if (a < b && a < 0) then
{return 1;
}
else
{return 0;
}
}
]]>
</script>

在上面的实例中,解析器会忽略 CDATA 部分中的所有内容。

注意:
关于 CDATA 部分的注释:

  1. CDATA 部分不能包含字符串 “]]>”。
  2. 也不允许嵌套的 CDATA 部分。
  3. 标记 CDATA 部分结尾的 “]]>” 不能包含空格或换行。

其他

  1. <![CDATA[]]>不能适用所有情况,转义字符可以;
  2. 对于短字符串<![CDATA[]]>写起来啰嗦,对于长字符串转义字符写起来可读性差;
  3. <![CDATA[]]>表示xml解析器忽略解析,所以更快。

XML中CDATA的含义相关推荐

  1. IP得到天气预报(3)———XML中CDATA的提取

    上一个Session中,我们可以得到其中的部分信息了.也就是说,如果你自己看的话,就会发现雅虎的天气中,这样读取XML我们也只能得到相应的最低温度,最高温度.或者明天的,或者今天的湿度风速.这是东西都 ...

  2. xml中[CDATA[]]浅解

    xml中![CDATA[]]浅解 CDATA 指的是不由 XML 解析器进行解析的文本数据. ![CDATA[]]是xml语法,当xml中有⼀些特殊的字符时,在解析xml⽂件的时候会被转义,但我们不希 ...

  3. XML中CDATA及其字符实体的使用

    在写xml文档时,偶尔会用到一些特殊字符,如<.>.&等,如下面这段程序: <?xml version="1.0"?> <y>if x& ...

  4. oracle xml中cdata,XML CDATA的作用

    XML CDATA的作用 更新时间:2009年09月01日 00:52:36   作者: 当你用FLASH和xml结合做网站应用程序时,例如你做在我研究游戏排行榜中,当让人自由输入姓名时,人们可以输入 ...

  5. XML中CDATA的运用

    CDATA术语,主要用于标记语言(SGML和XML)中直接的但是有关联的字符数据.这个术语表明文档的某一部分是一个普通的的字符数据块而不是非字符数据或者拥有更特殊和限制结构的字符数据. 在一个XML文 ...

  6. xml中CDATA写法

    <![CDATA[...]]> <![CDATA[jdbc:mysql:///javaweb?useUnicode=true&characterEncoding=utf8]] ...

  7. XML 中的 ﹤![CDATA[ ]]

    本文主要介绍xml中CDATA作用. 为了解决属性值中使用XML中的特殊字符,xml使用类似的转义字符去描述. 字符 转移字符 <  < >  > & & ' ...

  8. java cdata类,分析XML中的CDATA类型在RSS中的使用

    除经特别注明外,本站文章版权归JScud Develop团队或其原作者所有. 转载请注明作者和来源.  scud(飞云小侠)    欢迎访问 JScud Develop 根据XML中CDATA类型的规 ...

  9. XML 中的 xmlns 等属性的意义

    原文:https://blog.csdn.net/lengxiao1993/article/details/77914155 Maven 是一个 java 开发人员很难绕过的构建工具, 因为有众多的开 ...

最新文章

  1. 基于OHCI的USB主机 —— 结束语
  2. 机器学习面试题集 - 如何进行 A/B 测试
  3. html复选框位置,html – 对齐复选框和标签
  4. BI商业智能项目中的若干风险要素
  5. 电子科技大学计算机学院保研夏令营,电子科技大学计算机科学与工程学院网络空间安全保研夏令营...
  6. 弗林德斯大学计算机科学,想成为IT大神?就去学习弗林德斯大学计算机科学专业...
  7. linux共享内存的定义,共享内存是什么意思 Linux系统如何共享内存
  8. java中如何计算两个时间段的月份差
  9. 与kylin_什么是Kylin,Kylin的学习
  10. vim 查找相同行 删除向同行
  11. 橄榄山软件长期开放 《软件研发》职位,请随时申请
  12. 如果不懂 numpy,请别说自己是 python 程序员
  13. Unity 横向滚动ScrollView
  14. 爪哇国新游记之三十二----邮件发送
  15. 夫妻财产公证有法律效力吗
  16. ENFI下载器地址——百度网盘不限速下载工具
  17. 2018年cocos2d-x面试题目总结
  18. C# WPF开源控件库:Newbeecoder.UI使用指南(四)
  19. 10道题熟练掌握并运用链表结构算法
  20. matlab输出图片至指定文件夹(适用于批量输出)

热门文章

  1. 聊聊“文章代写”这个传统网络项目
  2. 定向凝固各向异性枝晶生长 相场模拟
  3. QT综合大作业—— 多媒体应用程序设计
  4. iOS学习之Map,定位,标记位置的使用
  5. Vue中的Class Component使用指南
  6. Mybatis的逆向工程配置详解
  7. 用C语言:某邮局对邮寄包裹有如下规定:若包裹的长、宽、高任一尺寸超过 1m 或重量超过 30kg,则不予邮寄;对可以邮寄的包裹每件收手续费 2 元,再加上根据表 4-1 按重量计算的邮资。
  8. mysql数据库uid是什么意思_mysql数据库权限及编码
  9. 你写的代码和66万的车有什么区别
  10. Gamma分布与逆Gamma分布