XML入門教程:XML CDATA_Xml教程
推薦:AJAX:如何處理書簽和后退按鈕本文將展示一個開源JavaScript庫,該腳本庫給AJAX應用程序帶來了書簽和后退按鈕支持。在學習完這個教程后,開發人員將能夠獲得對一個AJAX問題的解決方案(甚至連Google Maps和Gmail現在都不提供
所有XML文檔中的文本均會被解析器解析。
只有CDATA區段(CDATA section)中的文本會被解析器忽略。
Parsed Data
XML解析器通常會解析XML文檔中所有的文本。
當某個XML元素被解析時,其標簽之間的文本也會被解析:
<message>此文本也會被解析</message>
解析器之所以這么做是因為XML元素可包含其他的元素,就像這個例子中,其中的<name>元素包含著另外的兩個元素(first 和 last):
<name><first>Bill</first><last>Gates</last></name>
而解析器會把它分解為像這樣的子元素:
以下為引用的內容: <name> <first>Bill</first> <last>Gates</last> </name> |
轉義字符
非法的XML字符必須被替換為實體引用(entity reference)。
假如您在XML文檔中放置了一個字符,例如"<",那么這個文檔會產生一個錯誤,這是因為解析器會把它解釋為新元素的開始。因此你不能這樣寫:
<message>if salary < 1000 then</message>
為了避免這個錯誤,您需要把字符"<"替換為實體引用,就像這樣:
<message>if salary < 1000 then</message>
在XML中有5個預定義的實體引用:
< < 小于
> > 大于
& & 和號
' ' 省略號
" " 引號
注釋:嚴格地講,在XML中僅有字符"<"和"&"是非法的。省略號、引號和大于號是合法的,但是把它們替換為實體引用是個好的習慣。
CDATA
CDATA內部的所有東西都會被解析器忽略。
假如您的文本中包含了大量的"<"和"&"字符 - 就像編程代碼中經常出現的情況一樣 - 那么這個XML元素就可以被定義為一個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文檔從格式到大小都是不是確定的。有的可能只有幾行,而有的卻有好幾兆字節。你也許會懷疑是不是需要了解XML文檔的大小。而當性能成為首要問題時,知道XML文檔大小就是件必須要作的
- 相關鏈接:
- 教程說明:
Xml教程-XML入門教程:XML CDATA。