1. 程式人生 > >在xml中的一些特殊符號的使用如:> < &等等

在xml中的一些特殊符號的使用如:> < &等等

在我們的xml文件中,每當資料中有'<'、'&'等符號時,封裝的XML就無法解析。但是發現XML裡有CDATA屬性,問題迎刃而解!在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[" 標記開始,以"]]>"
標記結束:
<![CDATA[ aaa ]]> 在前面的例子中,所有在CDATA部件之間的文字都會被解析器忽略。
 CDATA注意事項: CDATA部件之間不能再包含CDATA部件(不能巢狀)。如果CDATA部件包含了字元"]]>" 或者"<![CDATA[" ,將很有可能出錯哦。同樣要注意在字串"]]>"之間沒有空格或者換行符。
案例: