寫了個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文件。在使用程式讀取的時候,解析器會自動將...