在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 < 1000 then</message>
下面是五個在XML文檔中預先定義好的實體:
< < 小於號
> > 大於號
& & 與
' ' 單引號
" ""雙引號
注意: 只有"<" 字元和"&"字元對於XML來說是嚴格禁止使用的。剩下的都是合法的,為了減少出錯,使用實體是個好習慣。
----------------------------------------------- ---------------------------------
CDATA零件
在CDATA內部的所有內容都會被解析器忽略。
如果文字包含了很多的"<"字元和"&"字元-就像程式碼一樣,那麼最好把他們都放到CDATA零件中。
一個 CDATA 部件以""標記結束:
<script> <![CDATA[ function matchwo(a,b) { if (a < b && a < 0) then { return 1 } else { return 0 } } ]]> </script>
CDATA注意事項:
CDATA部件之間不能再包含CDATA部件(不能嵌套)。如果CDATA零件包含了字元"]]>" 或"
同樣要注意在字串"]]>"之間沒有空格或換行符。
以上就是XML指南-XML CDATA的內容,更多相關內容請關注PHP中文網(www.php.cn)!