CDATA学习

**************************************************************************************************
其真实作用就是为了让解释器认识什么是不等号什么是关键字。
**************************************************************************************************
<![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解析器忽略解析,所以更快。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28291944/viewspace-2142195/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/28291944/viewspace-2142195/

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值