深入解析XML中的字符實體與字符數(shù)據(jù)
字符實體
在我們了解字符實體之前,先了解一下什么是 XML 實體。
W3 聯(lián)盟 對實體的定義:文檔實體作為實體樹的根元素和 XML 處理程序的起點。
這意味著實體就是 XML 中的占位符。它們可以聲明在文檔序言或者DTD中。實體有不同的類型,本章后面會討論字符實體。
HTML 和 XML 都有一些符號被保留使用,它們不能在 XML 代碼中用作內(nèi)容。例如,< 和 > 符號被用作 XML 標簽的開頭和結(jié)尾。要顯示這些特殊字符,就要使用字符實體。
有些特殊的字符或符號還不能直接使用鍵盤輸入??梢允褂米址麑嶓w來顯示這些符號或特殊字符。
字符實體類型
有三種類型的字符實體:
預(yù)定義的字符實體。
編碼字符實體。
命名字符實體。
預(yù)定義的字符實體
引入它們是為了避免使用某些有歧義的符號。例如,當我們把小于(<)或大于(>)符號當尖括號(<>)使用時就會產(chǎn)生歧義。字符實體從根本上來說就是用來界定 XML 標簽的。下面是一個來自 XML 規(guī)范的預(yù)定義字符實體列表。它們可以用來表示某些字符而不帶歧義。
和號: &
單引號: '
大于: >
小于: <
雙引號: "
數(shù)字字符實體
數(shù)字引用被用來表示字符實體。數(shù)字引用可以是十進制或十六進制格式。由于有數(shù)以千記的數(shù)字引用,導(dǎo)致很難記住它們。數(shù)字引用通過使用字符在 Unicode 字符集中的編碼數(shù)值來表示。
十進制數(shù)字引用基本語法:
- &# decimal number ;
十六進制數(shù)字引用基本語法:
- &#x Hexadecimal number ;
下面的表格列出了一些預(yù)定義字符實體和它們對應(yīng)的數(shù)值:
| 實體名稱 | 字符 | 十進制引用 | 十六進制引用 |
|---|---|---|---|
| quot | " | " | " |
| amp | & | & | & |
| apos | ' | ' | ' |
| lt | < | < | |
| gt | > | > | > |
命名字符實體
正如上面所說的,數(shù)值字符很難記住,最受歡迎的字符實體類型是命名字符實體。因為每個實體都用一個名稱標識。
例如:
'Aacute' 表示帶重音符的大寫 A 字符。
'ugrave' 表示帶沉音符的小寫 u。
CDATA 片段
術(shù)語 CDATA 就是字符數(shù)據(jù)。CDATA 被定義為不由解析器解析的文本塊,但它被公認為標記。
標記中預(yù)定義的實體比如 <,> 和 & 需要手動輸入并且通常難以閱讀。這種情況下就可以使用 CDATA 片段。通過使用 CDATA 片段,我們可以告訴解析器文檔的特定部分不包含標記,應(yīng)該被當做普通文本對待。
語法
下面是 CDATA 片段的語法:
- <![CDATA[
- characters with markup
- ]]>
上面的語法由三個部分組成:
CDATA 開始部分 - CDATA 以9個字符的分隔符<![CDATA[開頭。
CDATA 結(jié)束部分 - CDATA 以 ]]> 分隔符結(jié)尾。
CData 部分 - 上面這兩個標記之間的字符被解釋為字符而不是標記。這個部分可以包含標記字符(<,> 和 &),但是它們會被 XML 處理程序忽略。
示例
下面的標記代碼展示了 CDATA。其中寫在 CDATA 片段中的字符都會被解析器忽略。
- <script>
- <![CDATA[
- <message> Welcome to TutorialsPoint </message>
- ]] >
- </script>
在上述的語法中,<message> 和 </message> 之間的所有內(nèi)容都會被當做字符數(shù)據(jù)而不是標記。
CDATA 規(guī)則
XML CDATA 需要遵循以下規(guī)則:
XML 文檔任何位置的 CDATA 都不能包含 "]]>" 字符。
CDATA 片段不可以嵌套。
相關(guān)文章
- 這篇文章主要介紹了詳解XML中的代碼注釋書寫方法,文章中總結(jié)了注釋使用的一些注意點,比如XML不支持嵌套注釋等,需要的朋友可以參考下2016-02-14
- 這篇文章主要介紹了XML中的屬性學(xué)習(xí)教程,包括使用屬性將數(shù)據(jù)存儲在子元素中的例子,需要的朋友可以參考下2016-02-14
- 這篇文章主要介紹了XML中的標簽與元素的使用,是XML入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2016-02-14
- 這篇文章主要介紹了XML中的文檔與聲明用法,是XML入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2016-02-04
- 這篇文章主要介紹了XML標記語言的基本概念及語法入門教程,XML同時也被廣泛用作標記數(shù)據(jù)來作為XML數(shù)據(jù)交換格式,需要的朋友可以參考下2016-02-04
- WPS2016文檔怎么保存為XML格式?wps默認的伯村格式是.doc,但是有的時候,必須使用xml格式的文件,該怎么把WPS的doc格式另存為xml格式呢?下面我們來看看詳細教程2015-11-05
批量導(dǎo)入XML數(shù)據(jù)到drupal系統(tǒng)的方法
這篇文章主要為大家介紹了批量導(dǎo)入XML數(shù)據(jù)到drupal系統(tǒng)的方法,主要通過一個XML文件導(dǎo)入類來實現(xiàn)這一功能,是非常實用的技巧,需要的朋友可以參考下2014-11-10
flash+XML實現(xiàn)的3D層疊樣式疊加切換特效源碼
這是一款基于flash+xml實現(xiàn)的3D層疊樣式疊加切換特效源碼,并配以韓國網(wǎng)頁風(fēng)格的圖片。整體圖片切換效果流暢自然,中間顯示清晰的圖片,其他圖片模糊顯示,還可通過鼠標點2014-09-03wordpress非插件實現(xiàn)xml格式網(wǎng)站地圖
這篇文章主要介紹了wordpress非插件實現(xiàn)xml格式網(wǎng)站地圖,需要的朋友可以參考下2014-08-03


