XML轉義字元

2021-06-15 00:52:09 字數 1087 閱讀 6519

寫了個request2xml的方法,每當資料中有'<'、'&'符號時,封裝的xml就無法解析。發現了xml裡的cdata屬性,問題迎刃而解!

在xml文件中的所有文字都會被解析器解析。

只有在cdata部件之內的文字會被解析器忽略。

xml 解析器通常情況下會處理xml文件中的所有文字。

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

this text is also parsed

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

bill

gates

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

bill

gates

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

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

if salary < 1000 then

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

if salary < 1000 then

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

<

<

小於號》

>

大於號&&和

''單引號"

"雙引號

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

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

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

如果文字包含了很多的"<"字元和"&"字元------就象程式**一樣,那麼最好把他們都放到cdata部件中。

乙個 cdata 部件以""標記結束: 

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

cdata注意事項:

cdata部件之間不能再包含cdata部件(不能巢狀)。如果cdata部件包含了字元"]]>" 或者"同樣要注意在字串"]]>"之間沒有空格或者換行符。 

XML 轉義字元

不合法的xml字元必須被替換為相應的實體。如果在xml文件中使用類似 的字元,那麼解析器將會出現錯誤,因為解析器會認為這是乙個新元素的開始。所以不應該象下面那樣書寫 if salary 1000 then 為了避免出現這種情況,必須將字元 轉換成實體,象下面這樣 if salary 1000 the...

XML轉義字元

不合法的xml字元必須被替換為相應的實體。如果在xml文件中使用類似 的字元,那麼解析器將會出現錯誤。下面是五個在xml文件中預定義好的實體 和 amp 單引號 apos 雙引號 quot 大於號 gt 小於號 lt 小於號 大於號 和 單引號 雙引號 實體必須以符號 開頭,以符號 結尾。如果文字包...

xml轉義字元

被這個標記所包含的內容將表示為純文字,比如表示文字內容 此標記用於xml文件中,我們先來看看使用轉義符的情況。我們知道,在xml中,等字元是不能直接存入的,否則xml語法檢查時會報錯,如果想在xml中使用這些符號,必須將其轉義為實體,如 這樣才能儲存進xml文件。在使用程式讀取的時候,解析器會自動將...