18.XML CDATA
所有 XML 文档中的文本均会被解析器解析。只有 CDATA 区段(CDATA section)中的文本会被解析器忽略。
PCDATA
PCDATA 指的是被解析的字符数据(Parsed Character Data)。
XML 解析器通常会解析 XML 文档中所有的文本。
当某个 XML 元素被解析时,其标签之间的文本也会被解析:
<message>此文本也会被解析</message>
解析器之所以这么做是因为 XML 元素可包含其他元素,就像这个例子中,其中的 < name> 元素包含着另外的两个元素(first 和 last):
<name><first>Bill</first><last>Gates</last></name>
而解析器会把它分解为像这样的子元素:
<name><first>Bill</first><last>Gates</last>
</name>
转义字符
非法的 XML 字符必须被替换为实体引用(entity reference)。
假如您在 XML 文档中放置了一个类似 “<” 字符,那么这个文档会产生一个错误,这是因为解析器会把它解释为新元素的开始。因此你不能这样写:
<message>if salary < 1000 then</message>
为了避免此类错误,需要把字符 “<” 替换为实体引用,就像这样:
<message>if salary < 1000 then</message>
CDATA
术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。
在 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 部分的注释:
CDATA 部分不能包含字符串 “]]>”。也不允许嵌套的 CDATA 部分。
标记 CDATA 部分结尾的 “]]>” 不能包含空格或折行。
18.XML CDATA相关推荐
- XML CDATA的作用
操作XML文件时,如果允许用户输入内容,例如∶"< ".">"."/".""等,当生成XML时,会破坏了XM ...
- oracle xml中cdata,XML CDATA的作用
XML CDATA的作用 更新时间:2009年09月01日 00:52:36 作者: 当你用FLASH和xml结合做网站应用程序时,例如你做在我研究游戏排行榜中,当让人自由输入姓名时,人们可以输入 ...
- java cdata xml 解析_解析XML CDATA块
看来 标签中的CDATA内容将在 parser:foundCharacters 中的多个回调中逐步返回 . 在符合NSXMLParserDelegate的类中,尝试通过将CDATA附加到NSMutab ...
- XML CDATA概述
XML 文档中的所有文本均会被解析器解析.只有 CDATA 区段中的文本会被解析器忽略. PCDATA - 被解析的字符数据 XML 解析器通常会解析 XML 文档中所有的文本. 当某个 XML 元素 ...
- php xml cdata 解析,![CDATA[文本内容]]代表的意思
mybatis 写sql语句的xml中sql语句被包裹,就是因为里面可能有等符号,xml解析器格式化的时候无法正确解析,所以用这个包起来. CDATA 指的是不由 XML 解析器进行解析的文本数据.所 ...
- php 解析xml cdata,PHP SimpleXML 对有CDATA的xml解析问题 | 瑕疵学院 – 学习无瑕疵,成就有保障...
$xml_data = file_get_contents('a.xml'); $simplexml = simplexml_load_string($xml_data); print_r($simp ...
- XML——CDATA
XML 解析器通常会解析 XML 文档中所有的文本. 当某个 XML 元素被解析时,其标签之间的文本也会被解析: <message>此文本也会被解析</message> 非法的 ...
- java 生成xml cdata_XML CDATA是什么?
All text in an XML document will be parsed by the parser. XML文档中的所有文本都会被解析器解析. Only text inside a CD ...
- 【科普】:10分钟看明白XML和JSON
引言 NOKIA 有句著名的广告语:"科技以人为本".任何技术都是为了满足人的生产生活需要而产生的.具体到小小的一个手机,里面蕴含的技术也是浩如烟海,是几千年来人类科技的结晶,单个 ...
- XML Json
XML && Json 一.XML XML即可扩展标记语言(eXtensible Markup Language).标记是指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包 ...
最新文章
- Python 精选笔试面试习题—sorted 与 sort 单例模式、统计字符个数Count、垃圾回收、lambda函数、静态方法、类方法、实例方法、分布式锁、
- Vivado中TCL的使用
- Linux中表示“时间”的结构体和相关函数
- java堆与非堆的一些研究_堆和堆傻傻分不清?一文告诉你 Java 集合中「堆」的最佳打开方式...
- tf13: 简单聊天机器人
- 阿里帝国到底有多庞大
- Mybatis配置文件resultMap映射啥时候可写可不写?
- JS 异步编程及常考面试题
- Eclipse MicroProfile简介
- 基于BOW模型的图像检索
- ypid编码是什么_国家药品供应保障综合管理信息平台YPID编码规则与应用
- PDF 文档拆分工具包
- ClickHouse安装部署
- 数字孪生开启传统行业数字化转型升级之路
- h5 invoke android,uniapp安卓版本11.0.0以上真机调试App: onLaunch have been invoked
- java.lang.ClassNotFoundException: org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEnd
- Heart_deconvolution giotto解卷积
- 迸发中的小i机器人,2018年多处开花
- python简易计算器报告_用 Python 实现简易计算器 ( 下 )
- Photoshop-avi-gif-合集