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

CDATA 部分由 "<![CDATA[" 開始,由 "]]>" 結束:

<script>
<![CDATA[
function matchwo(a,b)
{
if (a < b && a < 0) then
  {
  return 1;
  }
else
  {
  return 0;
  }
}
]]>
</script>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM