XML 中CDATA的意義

          解析數據

          XML 解析器通常情況下會處理XML文檔中的所有文本。

          當XML元素被解析的時候,XML元素內部的文本也會被解析:

          <message>This text is also parsed</message>

          XML解析器這樣做的原因是XML元素內部可能還包含了別的元素,象下面的例子,name元素內部包含了first和last兩個元素:

          <name><first>Bill</first><last>Gates</last></name>

          解析器會認為上面的代碼是這樣的:

          <name>
                      <first>Bill</first>
                      <last>Gates</last>
                      </name>


          轉義字符

          不合法的XML字符必須被替換為相應的實體。

          如果在XML文檔中使用類似"<" 的字符, 那么解析器將會出現錯誤,因為解析器會認為這是一個新元素的開始。所以不應該象下面那樣書寫代碼:

          <message>if salary < 1000 then</message>

          為了避免出現這種情況,必須將字符"<" 轉換成實體,象下面這樣:

          <message>if salary &lt; 1000 then</message>

          下面是五個在XML文檔中預定義好的實體:

          &lt; < 小于號
          &gt; > 大于號
          &amp; &
          &apos; ' 單引號
          &quot; " 雙引號

          實體必須以符號"&"開頭,以符號";"結尾

          注意: 只有"<" 字符和"&"字符對于XML來說是嚴格禁止使用的。剩下的都是合法的,為了減少出錯,使用實體是一個好習慣。


          CDATA部件

          在CDATA內部的所有內容都會被解析器忽略。

          如果文本包含了很多的"<"字符和"&"字符——就象程序代碼一樣,那么最好把他們都放到CDATA部件中。

          一個 CDATA 部件以"<![CDATA[" 標記開始,以"]]>"標記結束:

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

          在前面的例子中,所有在CDATA部件之間的文本都會被解析器忽略。

          CDATA注意事項:

          CDATA部件之間不能再包含CDATA部件(不能嵌套)。如果CDATA部件包含了字符"]]>" 或者"<![CDATA[" ,將很有可能出錯哦。

          同樣要注意在字符串"]]>"之間沒有空格或者換行符。

          posted on 2008-01-08 14:49 劉錚 閱讀(405) 評論(0)  編輯  收藏 所屬分類: XML

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          留言簿(1)

          文章分類(141)

          文章檔案(147)

          搜索

          最新評論

          主站蜘蛛池模板: 正安县| 夏津县| 淳化县| 宣化县| 简阳市| 林州市| 西城区| 南开区| 阿尔山市| 徐闻县| 舒兰市| 桃园市| 宁河县| 和顺县| 东平县| 天津市| 比如县| 澎湖县| 南郑县| 教育| 镇远县| 广昌县| 集安市| 扎囊县| 新余市| 天祝| 湖北省| 突泉县| 新兴县| 融水| 桓台县| 左贡县| 图片| 安溪县| 班戈县| 富顺县| 瓮安县| 五峰| 滦南县| 河西区| 阜康市|