xml中的 ![CDATA[]] 簡介

標題中 <![CDATA[]]> 有非法字符,在保存時保存不了,所以改成了 ![CDATA[]],不是寫錯了!!!!!!!!

/*****************微信回調返回數據樣例*******************
     $post = '<xml>
        <return_code><![CDATA[SUCCESS]]></return_code>
        <return_msg><![CDATA[OK]]></return_msg>
        <appid><![CDATA[wx2421b1c4370ec43b]]></appid>
        <mch_id><![CDATA[10000100]]></mch_id>
        <nonce_str><![CDATA[IITRi8Iabbblz1Jc]]></nonce_str>
        <sign><![CDATA[7921E432F65EB8ED0CE9755F0E86D72F]]></sign>
        <result_code><![CDATA[SUCCESS]]></result_code>
        <prepay_id><![CDATA[wx201411101639507cbf6ffd8b0779950874]]></prepay_id>
        <trade_type><![CDATA[APP]]></trade_type>
        </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)”]]>”這部分不能包含空格或者換行。 

  其他
  (1)<![CDATA[]]>不能適用所有情況,轉義字符可以; 
  (2) 對於短字符串<![CDATA[]]>寫起來囉嗦,對於長字符串轉義字符寫起來可讀性差; 
  (3) <![CDATA[]]>表示xml解析器忽略解析,所以更快。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章