XML 解析器通常会解析 XML 文档中所有的文本。

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

<message>此文本也会被解析</message>

非法的XML字符必须被替换为实体引用(entity reference)

假如您在 XML 文档中放置了一个类似 "<" 字符,那么这个文档会产生一个错误,这是因为解析器会把它解释为新元素的开始。因此你不能这样写:

<message>if salary < 1000 then</message>

为了避免此类错误,需要把字符 "<" 替换为实体引用,就像这样:

<message>if salary &lt; 1000 then</message>

在XML中有5个预定义的实体引用:

&lt; < 小于
&gt; > 大于
&amp; & 和号
&apos; ' 省略号
&quot; " 引号

注释:严格地讲,在 XML 中仅有字符 "<"和"&" 是非法的。省略号、引号和大于号是合法的,但是把它们替换为实体引用是个好的习惯。

CDATA

术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。

在 XML 元素中,"<" 和 "&" 是非法的。

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

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

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

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

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

<![CDATA[<]]> #{endTime}</if>

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

注意:

CDATA 部分不能包含字符串 "]]>"。也不允许嵌套的 CDATA 部分。

标记 CDATA 部分结尾的 "]]>" 不能包含空格或折行。

XML——CDATA相关推荐

  1. XML CDATA的作用

    操作XML文件时,如果允许用户输入内容,例如∶"< ".">"."/".""等,当生成XML时,会破坏了XM ...

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

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

  3. java cdata xml 解析_解析XML CDATA块

    看来 标签中的CDATA内容将在 parser:foundCharacters 中的多个回调中逐步返回 . 在符合NSXMLParserDelegate的类中,尝试通过将CDATA附加到NSMutab ...

  4. XML CDATA概述

    XML 文档中的所有文本均会被解析器解析.只有 CDATA 区段中的文本会被解析器忽略. PCDATA - 被解析的字符数据 XML 解析器通常会解析 XML 文档中所有的文本. 当某个 XML 元素 ...

  5. php xml cdata 解析,![CDATA[文本内容]]代表的意思

    mybatis 写sql语句的xml中sql语句被包裹,就是因为里面可能有等符号,xml解析器格式化的时候无法正确解析,所以用这个包起来. CDATA 指的是不由 XML 解析器进行解析的文本数据.所 ...

  6. php 解析xml cdata,PHP SimpleXML 对有CDATA的xml解析问题 | 瑕疵学院 – 学习无瑕疵,成就有保障...

    $xml_data = file_get_contents('a.xml'); $simplexml = simplexml_load_string($xml_data); print_r($simp ...

  7. java 生成xml cdata_XML CDATA是什么?

    All text in an XML document will be parsed by the parser. XML文档中的所有文本都会被解析器解析. Only text inside a CD ...

  8. DOM4J_Xpath的XML操作总结

    2019独角兽企业重金招聘Python工程师标准>>> 1.DOM4J简介 DOM4J是 dom4j.org 出品的一个开源 XML 解析包.DOM4J应用于 Java 平台,采用了 ...

  9. dom4j ---最好的xml解决方案?

    DOM4J是dom4j.org出品的一个开源XML解析包,它的网站中这样定义: Dom4j is an easy to use, open source library for working wit ...

最新文章

  1. asp.net网站图片防盗链机制示例代码
  2. boost::mpl模块实现insert相关的测试程序
  3. linux操作系统adsl 上网设置,Linux操作系统下ADSL拨号上网详细步骤
  4. Java == equal
  5. [习题]如何触发 GridView 身体里面的「子控件」的事件 (ASP.NET案例精编 / 清华大学出版社 Ch.10/11两章的补充)...
  6. 清华硕士分享思维导图:机器学习所需的数学基础
  7. 开源数字媒体资产管理系统:Razuna
  8. python毕业设计作品基于django框架 校园二手书籍交易系统毕设成品(6)开题答辩PPT
  9. 只做正确的事情,并持续输出价值
  10. Java从遗忘到入门——Day06
  11. VulnHub靶场-Tiki
  12. Win32基础学习笔记
  13. MPC5744P-UART(LIN)模块
  14. python统计不同字符的个数
  15. 瑞科生物通过聆讯:9个月亏损超5亿 君联与红杉是股东
  16. DNS工作原理及其过程
  17. ps -aux排序--按内存使用排序或按cpu使用排序
  18. 计算机在幼儿园课程中的教学,计算机技术在幼儿教学中的运用策略
  19. iOS开发——网络连接判断
  20. RTMP协议推流,助力视频数据轻松上云

热门文章

  1. [SQL Server 2005 至 SP3] 问题解决: 发布'xxx'的初始快照尚不可用
  2. Tinghui Zhou
  3. 配置eslint+prettier报错Error: Cannot read config file: /Users/qiandingwei/Documents/projects/creams-main
  4. ISCSI 简单介绍
  5. 天眼查查询企业工商资料
  6. XR-FRAME 开始
  7. 小马哥java_小马哥 Java 微服务实践 - Spring Cloud 系列
  8. html5打包在ios上发布,第二篇 HTML5打包发布IOS APP之苹果开发者账号申请流程
  9. 蛋鸡养殖智能环控系统方案
  10. 【elasticsearch】 es状态查看节点分片信息:/_cat/shards