被<![CDATA[]]>这个标记所包含的内容将表示为纯文本,比如<![CDATA[<]]>表示文本内容“<”。

  此标记用于xml文档中,我们先来看看使用转义符的情况。我们知道,在xml中,”<”、”>”、”&”等字符是不能直接存入的,否则xml语法检查时会报错,如果想在xml中使用这些符号,必须将其转义为实体,如”&lt;”、”&gt;”、”&amp;”,这样才能保存进xml文档。

  在使用程序读取的时候,解析器会自动将这些实体转换回”<”、”>”、”&”。举个例子:

  <age> age < 30 </age>

  上面这种写法会报错,应该这样写:

  <age> age &lt; 30 </age>

  值得注意的是:

  (1)转义序列字符之间不能有空格;

  (2) 转义序列必须以”;”结束;

  (3) 单独出现的”&”不会被认为是转义的开始;

  (4) 区分大小写。

  

  在XML中,需要转义的字符有:

  (1)&   &amp;

  (2)<   &lt;

  (3)>   &gt;

  (4)"   &quot;

  (5)'   &apos;

  但是严格来说,在XML中只有”<”和”&”是非法的,其它三个都是可以合法存在的,但是,把它们都进行转义是一个好的习惯。

  不管怎么样,转义前的字符也好,转义后的字符也好,都会被xml解析器解析,为了方便起见,使用<![CDATA[]]>来包含不被xml解析器解析的内容。但要注意的是:

  (1) 此部分不能再包含”]]>”;

  (2) 不允许嵌套使用;

  (3)”]]>”这部分不能包含空格或者换行。

  最后,说说<![CDATA[]]>和xml转移字符的关系,它们两个看起来是不是感觉功能重复了?

  是的,它们的功能就是一样的,只是应用场景和需求有些不同:

  (1)<![CDATA[]]>不能适用所有情况,转义字符可以;

  (2) 对于短字符串<![CDATA[]]>写起来啰嗦,对于长字符串转义字符写起来可读性差;

  (3) <![CDATA[]]>表示xml解析器忽略解析,所以更快。

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

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

xml中的<![CDATA[]]>和转义字符的更多相关文章

  1. xml中的<![CDATA[]]> 简介

    被<![CDATA[]]>这个标记所包含的内容将表示为纯文本,比如<![CDATA[<]]>表示文本内容“<”.  此标记用于xml文档中,我们先来看看使用转义符的 ...

  2. xml中处理特殊字符和转义字符

    XML 中的特殊字符 > 和 开始标记 > 例如: 5 ]] 如何获得这些HTML内容呢? XmlDocument doc = new XmlDocument(); doc.Load(&q ...

  3. mybatis xml 中的特殊符转义字符号和模糊查询

    xml特殊符号转义写法 < < 小于 <= <= 小于或等于 > > 大于 >= >= 大于或等于 <> <> 不等于 & ...

  4. XML中的CDATA是什么?PCDATA是什么?

    PCDATA表示已解析的字符数据. 在CDATA内部的所有内容都会被解析器忽略.

  5. xml中数据存储 <![CDATA[ … ]]>

    在xml中  有些可能是 转义的字符  比如像<等  &符号,  你没发现 在加参数后面要进行转义 写成&#26: 可以是&  但是每处都要 这么写.  在未来不可控的 ...

  6. 关于XML解析中的CDATA的简单介绍

    所有 XML 文档中的文本均会被解析器解析. 只有 CDATA 区段(CDATA section)中的文本会被解析器忽略. PCDATA PCDATA 指的是被解析的字符数据(Parsed Chara ...

  7. ibatis中的cdata和xml中cdata的含义

    ibatis的cdata用于sqlmap文件中,二sqlmap本身就是xml文件,即解析cdata的方法与xml文件的cdata相同. 简单来说:cdata就是用来表明纯文本的,如果没有这个的话 &l ...

  8. XML中PCDATA与CDATA的区别

    XML中PCDATA与CDATA的区别 2011-02-10 19:27:25|  分类: XML |  标签:xml中pcdata与cdata的区别     字号:大中小 订阅 所有 XML 文档中 ...

  9. XML中CDATA和#PCDATA的区别

    在XML文档中, 能看到“CDATA"的地方有三处: 1)在DTD中,指定标签中某个属性的类型为字符型时,使用CDATA.因为XML解析器会去分析这段字符内容,因而里面如果需要使用>, ...

随机推荐

  1. 震撼的Linux全景图:业界成熟的内核架构长什么样?

    1)Linux怎么来的? Linus 为了方便访问大学服务器中的资源 ,在自己的机器上写了一个文件系统和硬盘驱动,这样就可以把自己需要的资源下载到自己的机器中.随后linus把这款操作系统雏形开源,成 ...

  2. 1列表展示的SQL,改为:只查询出vip会员,展示在页面上(10分)

    模型代码: //会员 public static function member(){ return self::where('status',1)->select(); } 控制器代码: // ...

  3. Laravel 报错: Dotenv values containing spaces must be surrounded by quotes.

    报错信息如下: 原因: .env文件配置中欧冠包含空格的配置信息,用双引号""引起来即可

  4. 通过IMM With Remote Console为服务器安装操作系统

    现有IBM System x3750 M4(8722A1C)配置   产品类别 机架式 产品结构 2U CPU类型 Intel 至强E5-4600 CPU型号 Xeon E5-4640 CPU频率 2 ...

  5. Java GUI 实现发送邮件以及附件

    实现代码: 注意点: 需要的jar包:JavaMail API 和Java Activation Framework (JAF) ,下载可参考菜鸟教程 默认使用QQ邮箱发送,需要设置授权,设置--&g ...

  6. eclipse新建maven项目:'Building' has encountered a problem. Errors occurred during the build.

    二.eclipse 新建maven 项目报错(因为没有配置maven环境) 1.问题: ① 出现的问题1: Could not calculate build plan:Plugin org.apac ...

  7. java进行远程部署与调试及原理解析

    远程调试,特别是当你在本地开发的时候,你需要调试服务器上的程序时,远程调试就显得非常有用. JAVA 支持调试功能,本身提供了一个简单的调试工具JDB,支持设置断点及线程级的调试同时,不同的JVM通过 ...

  8. 七牛云简单实用-uploadManager.put(..)抛出异常

    描述: 本人小白,最近在写一个仿头条的项目,其中有用到七牛云做为图片的存储以代替本地服务其存储,按照视频教程配置服务器端的简单上传功能,总是报错: 参照官方文档:https://developer.q ...

  9. ClassNotFoundException: org.springframework.web.context.ContextLoadServlet

    web.xml中配置 <!-- 配置spring核心监听器,默认会以 /WEB-INF/applicationContext.xml作为配置文件 --> <listener> ...

  10. 使用 RabbitMQ 有什么好处?

    (1)服务间高度解耦 (2)异步通信性能高 (3)流量削峰