xml & 編碼


解析數據 XML 解析器通常情況下會處理XML文檔中的所有文本。 當XML元素被解析的時候,XML元素內部的文本也會被解析: This text is also parsed XML解析器這樣做的原因是XML元素內部可能還包含了別的元素,象下面的例子,name元素內部包含了first和last兩個元素: BillGates 解析器會認爲上面的代碼是這樣的: Bill Gates 


轉義字符不合法的XML字符必須被替換爲相應的實體。 如果在XML文檔中使用類似"<" 的字符, 那麼解析器將會出現錯誤,因爲解析器會認爲這是一個新元素的開始。所以不應該象下面那樣書寫代碼: if salary < 1000 then 爲了避免出現這種情況,必須將字符"<" 轉換成實體,象下面這樣: if salary < 1000 then 下面是五個在XML文檔中預定義好的實體: < < 小於號 > > 大於號 & & 和 ' ' 單引號 " " 雙引號 實體必須以符號"&"開頭,以符號";"結尾。 注意: 只有"<" 字符和"&"字符對於XML來說是嚴格禁止使用的。剩下的都是合法的,爲了減少出錯,使用實體是一個好習慣。


CDATA部件在CDATA內部的所有內容都會被解析器忽略。如果文本包含了很多的"<"字符和"&"字符——就象程序代碼一樣,那麼最好把他們都放到CDATA部件中。一個 CDATA 部件以"

在前面的例子中,所有在CDATA部件之間的文本都會被解析器忽略。 CDATA注意事項: CDATA部件之間不能再包含CDATA部件(不能嵌套)。如果CDATA部件包含了字符"]]>" 或者"<![CDATA[" ,將很有可能出錯哦。同樣要注意在字符串"]]>"之間沒有空格或者換行符。


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

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

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

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

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

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

&lt;

小於號

&gt;

大於號

&amp;

&

&apos;

'

單引號

&quot;

"

雙引號

實體必須以符號"&"開頭,以符號";"結尾。 注意: 只有"<" 字符和"&"字符對於XML來說是嚴格禁止使用的。剩下的都是合法的,爲了減少出錯,使用實體是一個好習慣。

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