<![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. 函数式组件中实现Antd打开Modal后其Input框自动聚焦(focus)到文字的最后

    目前React使用函数式组件已经成为趋势, 如何把React函数式组件用好, 提高性能, 从而实现业务需求也成为了一种能力的体现......咳咳咳, 进入正题: 现实场景需求 我想实现这一个需求, 父 ...

  2. springboot-jta-atomikos多数据源事务管理

    背景 我们平时在用springboot开发时,要使用事务,只需要在方法上添加@Transaction注解即可,但这种方式只适用单数据源,在多数据源下就不再适用: 比如在多数据源下,我们在一个方法里执行 ...

  3. laravel7 搜索分页

    html: <form action="{{url('http://www.yanbing.com/fang/index')}}" method="get" ...

  4. Go值类型和引用类型+作用域+空白标识符+常量

    值类型和引用类型 所有像 int.float.bool 和 string 这些基本类型都属于值类型,使用这些类型的变量直接指向存在内存中的值: 当使用等号 = 将一个变量的值赋值给另一个变量时,如:j ...

  5. 理解 MVCC

    MongoDB.MySQL.Oracle.PostgreSQL 等事务型数据库都有 mvcc 的概念. MVCC: 即多版本并发控制,主要是为了提高数据库的读写性能,让数据库在读写的时候不用去加锁.m ...

  6. ActiveMQ-5.9-笔记-02

  7. Netty之DefaultAttributeMap与AttributeKey的机制和原理

    一.介绍和原理分析 1.什么是 DefaultAttributeMap? DefaultAttributeMap 是一个 数组 + 链表 结构的线程安全Map. 2.什么是 AttributeKey? ...

  8. 【原创】浅谈指针(十一)alloca函数

    前言 好几天没写了,最近网课,事情也比较多,今天多写点东西. 目录 前言 alloca函数 1.简介 2.反汇编看alloca 3.手工调用alloca函数 4.注意事项 alloca函数 1.简介 ...

  9. leedcode算法

    1.LeetCode - 合并两个链表 2. 3. 链表是否有环       https://jingyan.baidu.com/article/066074d69afb8d83c31cb068.ht ...

  10. Ribbon和Feign的区别?

    1.Ribbon都是调用其他服务的,但方式不同.2.启动类注解不同,Ribbon是@RibbonClient feign的是@EnableFeignClients3.服务指定的位置不同,Ribbon是 ...