溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

認(rèn)識(shí)XML中的字符實(shí)體與字符數(shù)據(jù)

發(fā)布時(shí)間:2020-07-08 13:42:36 來(lái)源:億速云 閱讀:159 作者:Leah 欄目:編程語(yǔ)言

今天就跟大家聊聊有關(guān)認(rèn)識(shí)XML中的字符實(shí)體與字符數(shù)據(jù),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

字符實(shí)體
在我們了解字符實(shí)體之前,先了解一下什么是 XML 實(shí)體。

W3 聯(lián)盟 對(duì)實(shí)體的定義:文檔實(shí)體作為實(shí)體樹(shù)的根元素和 XML 處理程序的起點(diǎn)。

這意味著實(shí)體就是 XML 中的占位符。它們可以聲明在文檔序言或者DTD中。實(shí)體有不同的類(lèi)型,本章后面會(huì)討論字符實(shí)體。

HTML 和 XML 都有一些符號(hào)被保留使用,它們不能在 XML 代碼中用作內(nèi)容。例如,< 和 > 符號(hào)被用作 XML 標(biāo)簽的開(kāi)頭和結(jié)尾。要顯示這些特殊字符,就要使用字符實(shí)體。

有些特殊的字符或符號(hào)還不能直接使用鍵盤(pán)輸入??梢允褂米址麑?shí)體來(lái)顯示這些符號(hào)或特殊字符。

字符實(shí)體類(lèi)型
有三種類(lèi)型的字符實(shí)體:

預(yù)定義的字符實(shí)體。
編碼字符實(shí)體。
命名字符實(shí)體。
預(yù)定義的字符實(shí)體

引入它們是為了避免使用某些有歧義的符號(hào)。例如,當(dāng)我們把小于(<)或大于(>)符號(hào)當(dāng)尖括號(hào)(<>)使用時(shí)就會(huì)產(chǎn)生歧義。字符實(shí)體從根本上來(lái)說(shuō)就是用來(lái)界定 XML 標(biāo)簽的。下面是一個(gè)來(lái)自 XML 規(guī)范的預(yù)定義字符實(shí)體列表。它們可以用來(lái)表示某些字符而不帶歧義。

和號(hào): &
單引號(hào): '
大于: >
小于: <
雙引號(hào): "
數(shù)字字符實(shí)體

數(shù)字引用被用來(lái)表示字符實(shí)體。數(shù)字引用可以是十進(jìn)制或十六進(jìn)制格式。由于有數(shù)以千記的數(shù)字引用,導(dǎo)致很難記住它們。數(shù)字引用通過(guò)使用字符在 Unicode 字符集中的編碼數(shù)值來(lái)表示。

十進(jìn)制數(shù)字引用基本語(yǔ)法:

&# decimal number ;

十六進(jìn)制數(shù)字引用基本語(yǔ)法:

&#x Hexadecimal number ;

下面的表格列出了一些預(yù)定義字符實(shí)體和它們對(duì)應(yīng)的數(shù)值:

實(shí)體名稱字符十進(jìn)制引用十六進(jìn)制引用
quot"&#34;&#x22;
amp&&#38;&#x26;
apos'&#39;&#x27;
lt
&#60;&#x3C;
gt>&#62;&#x3E;


命名字符實(shí)體

正如上面所說(shuō)的,數(shù)值字符很難記住,最受歡迎的字符實(shí)體類(lèi)型是命名字符實(shí)體。因?yàn)槊總€(gè)實(shí)體都用一個(gè)名稱標(biāo)識(shí)。

例如:

'Aacute' 表示帶重音符的大寫(xiě) A 字符。
'ugrave' 表示帶沉音符的小寫(xiě) u。


CDATA 片段
術(shù)語(yǔ) CDATA 就是字符數(shù)據(jù)。CDATA 被定義為不由解析器解析的文本塊,但它被公認(rèn)為標(biāo)記。

標(biāo)記中預(yù)定義的實(shí)體比如 &lt;,&gt; 和 &amp; 需要手動(dòng)輸入并且通常難以閱讀。這種情況下就可以使用 CDATA 片段。通過(guò)使用 CDATA 片段,我們可以告訴解析器文檔的特定部分不包含標(biāo)記,應(yīng)該被當(dāng)做普通文本對(duì)待。

語(yǔ)法
下面是 CDATA 片段的語(yǔ)法:

<![CDATA[
characters with markup
]]>

上面的語(yǔ)法由三個(gè)部分組成:

CDATA 開(kāi)始部分 - CDATA 以9個(gè)字符的分隔符<![CDATA[開(kāi)頭。
CDATA 結(jié)束部分 - CDATA 以 ]]> 分隔符結(jié)尾。
CData 部分 - 上面這兩個(gè)標(biāo)記之間的字符被解釋為字符而不是標(biāo)記。這個(gè)部分可以包含標(biāo)記字符(<,> 和 &),但是它們會(huì)被 XML 處理程序忽略。
示例

下面的標(biāo)記代碼展示了 CDATA。其中寫(xiě)在 CDATA 片段中的字符都會(huì)被解析器忽略。

<script>
<![CDATA[   
<message> Welcome to TutorialsPoint </message>
]] >
</script>

在上述的語(yǔ)法中,<message> 和 </message> 之間的所有內(nèi)容都會(huì)被當(dāng)做字符數(shù)據(jù)而不是標(biāo)記。

CDATA 規(guī)則
XML CDATA 需要遵循以下規(guī)則:

XML 文檔任何位置的 CDATA 都不能包含 "]]>" 字符。
CDATA 片段不可以嵌套。

看完上述內(nèi)容,你們對(duì)認(rèn)識(shí)XML中的字符實(shí)體與字符數(shù)據(jù)有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI