XML特殊符號處理

from http://hugedream.blogspot.com/2013/07/xml-c.html




XML(eXtensible Markup Language)具有跨平台,結構清楚,及能表達複雜結構資料的優點。所以在工作上,我們常用其來作為資料交換的工具。但有些符號對xml而言為特殊字 元,若我們在產生xml時對於這些特殊字元沒有作處理的話,則會造成瀏覽器在render XML或程式在parse xml時,產生錯誤......
先來看看XML常見的特殊符號有哪些:
特殊字元替代字元
    <  &lt;
    >  &gt;
    &  &amp;
    '  &apos;
    "  &quot;
而處理特殊符號的方法,筆者知道有兩種,說明如下:
EX: <config>John & Mary</config>    //欄位值中包含特殊符號&
1. 使用CDATA將欄位值包起來
<config><![CDATA[John & Mary]]></config>
如上,標籤值包含特殊符號時,可用CDATA將值包起來,被包含於其中的任何字元,都會被視為一般字元,如此瀏覽器或程式在處理上就不會有問題了。
2.使用替代字元
<config>John&amp;Mary</config>
如上,我們用&的替代字元"&amp;"來取代&,如此瀏覽器在render xml時,當看到替代字元,就會自動地將其轉換成&了。
還有一種情況是特殊符號出現在標籤的屬性內,因為CDATA只能用於標籤值,對於標籤的屬性值是無效的。此時只能用替代字元的方式來處理了。
EX:
<config option="<![CDATA[AB<C,DEF]]>">John</config>
→將CDATA加於標籤屬性值內是無效的
此時只能用替代字元的方式來處理了:
<config option="AB<C,DEF">John</config> ---> <config option="AB&gt;C,DEF">John</config>

留言

熱門文章