XML指南-XML CDATA

黄舟
發布: 2017-02-11 15:32:39
原創
1826 人瀏覽過

  
在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部件(不能嵌套)。如果CDATA零件包含了字元"]]>" 或"
同樣要注意在字串"]]>"之間沒有空格或換行符。


以上就是XML指南-XML CDATA的內容,更多相關內容請關注PHP中文網(www.php.cn)!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板