博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
xml中的<![CDATA[]]>和转义字符
阅读量:5272 次
发布时间:2019-06-14

本文共 1024 字,大约阅读时间需要 3 分钟。

<![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解析器忽略解析,所以更快。

原文地址:http://blog.csdn.net/asdfsadfasdfsa/article/details/74327880

转载于:https://www.cnblogs.com/libo199374/p/7552697.html

你可能感兴趣的文章
1-5.Webpack对Html模板处理
查看>>
第四次实验报告
查看>>
Mybatis中的update动态SQL语句
查看>>
文件处理
查看>>
shell命令之查看日志more/less命令
查看>>
测试TinyMCE
查看>>
C#----我对坐标系的理解和图形转动
查看>>
18-模块和包
查看>>
Python 系统性能信息模块psutil
查看>>
python 简单的爬虫
查看>>
Log4net介绍
查看>>
Windows Azure Cloud Service (7) Windows Azure项目文件详解
查看>>
101. 对称二叉树
查看>>
TEST ON 平安夜
查看>>
python中的小知识点
查看>>
个人总结-9-session的使用,十天免登陆
查看>>
re库
查看>>
javascript变量精度的处理
查看>>
快速下载android源码
查看>>
unity UGUI动态滑动列表
查看>>