xml中输出原义和转义字符

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

引用:https://www.cnblogs.com/catgatp/p/6403382.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值