XML CDATA

2018-02-09 17:53 更新

XML CDATA

本節(jié)內(nèi)容有關(guān) XML CDATA,CDATA 指字符數(shù)據(jù),我們將其定義為文本塊。


XML 文檔中的所有文本均會(huì)被解析器解析。

只有 CDATA 區(qū)段中的文本會(huì)被解析器忽略。


PCDATA - 被解析的字符數(shù)據(jù)

XML 解析器通常會(huì)解析 XML 文檔中所有的文本。

當(dāng)某個(gè) XML 元素被解析時(shí),其標(biāo)簽之間的文本也會(huì)被解析:

<message>This text is also parsed</message>

解析器之所以這么做是因?yàn)?XML 元素可包含其他元素,就像這個(gè)實(shí)例中,其中的 <name> 元素包含著另外的兩個(gè)元素(first 和 last):

<name><first>Bill</first><last>Gates</last></name>

而解析器會(huì)把它分解為像這樣的子元素:

<name>
<first>Bill</first>
<last>Gates</last>
</name>

解析字符數(shù)據(jù)(PCDATA)是 XML 解析器解析的文本數(shù)據(jù)使用的一個(gè)術(shù)語(yǔ)。


CDATA - (未解析)字符數(shù)據(jù)

術(shù)語(yǔ) CDATA 是不應(yīng)該由 XML 解析器解析的文本數(shù)據(jù)。

像 "<" 和 "&" 字符在 XML 元素中都是非法的。

"<" 會(huì)產(chǎn)生錯(cuò)誤,因?yàn)榻馕銎鲿?huì)把該字符解釋為新元素的開始。

"&" 會(huì)產(chǎn)生錯(cuò)誤,因?yàn)榻馕銎鲿?huì)把該字符解釋為字符實(shí)體的開始。

某些文本,比如 JavaScript 代碼,包含大量 "<" 或 "&" 字符。為了避免錯(cuò)誤,可以將腳本代碼定義為 CDATA。

CDATA 部分中的所有內(nèi)容都會(huì)被解析器忽略。

CDATA 部分由 "<![CDATA[" 開始,由 "]]>" 結(jié)束:

<script>
<![CDATA[
function matchwo(a,b)
{
if (a < b && a < 0) then
{
return 1;
}
else
{
return 0;
}
}
]]>
</script>

在上面的實(shí)例中,解析器會(huì)忽略 CDATA 部分中的所有內(nèi)容。

關(guān)于 CDATA 部分的注釋:

CDATA 部分不能包含字符串 "]]>"。也不允許嵌套的 CDATA 部分。

標(biāo)記 CDATA 部分結(jié)尾的 "]]>" 不能包含空格或換行。

以上的 CDATA 部分的注釋是你需要遵循的 XML CDATA 的規(guī)則!

在下一節(jié)內(nèi)容中,我們將會(huì)講解 XML 編碼。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)