XML、DTD、Schema、dom4j解析

XML:可擴展的標記語言網絡

XML語法上和HTML比較類似,但HTML中的元素是固定的,而XML的標籤是能夠由用戶自定義的。框架

XML語法:dom

XML文檔聲明編碼

1.文檔聲明必須爲<?xml開頭,以?>結束;spa

2.文檔聲明必須從文檔的0行0列位置開始:3d

3.文檔聲明只有屬性:xml

a) versioin:指定XML文檔版本。對象

b) encoding:指定當前文檔的編碼。可選屬性,默認值是。utf-8:blog

元素element事件

1.元素是XML文檔中最重要的組成部分,

2.普通元素的結構開始標籤、元素體、結束標籤組成。

3.元素體:元素體能夠是元素,也能夠是文本。

4.空元素:空元素只有開始標籤,而沒有結束標籤,但元素必須本身閉介。

5.元素命名:

a) 區分大小寫

b) 不能使用空格,不能使用冒號:

c) 不建議以XML,  xml,  Xml開頭

6.格式化良好的XML文檔,必須只有一個根元素。

屬性

1.屬性是元素的一部分,它必須出如今元素的開始標籤中

2.屬性的定義格式:屬性名=屬性值,其中屬性值必須使用單引或雙引

3.一個元素能夠有O ~ N個屬性,但一個元素中不能出現同名屬性

4.屬性名不能使用空格、冒號等特殊字符,且必須以字母開頭

註釋

XML的註釋與HTML相同,即以「<!--」開始,以「-->」結束。註釋內容會被XML解析器忽略!

轉義字符

XML中的轉義字符與HTML同樣。

由於不少符號己經被XML文檔結構所使用,因此在元素體或屬性值中想使用這些符號就必須使用轉義字符

CDATA

當大量的轉義字符出如今xml文檔中時,會使xml文檔的可讀性大幅度下降。這時若是使用CDATA段就會好一些。

CDATA段中出現的「<」、「>’,、「」」、「‘」、「&」,都無需使用轉義字符。這能夠提升xml文檔的可讀性。

   CDATA段中不能包含「]]>」,即CDATA段的結束定界符。

DTD:文檔類型定義,用來約束XML文檔。規定XML文檔中元素的名稱,子元素的名稱及順序,元素的屬性等。

DTD語法:

1.內部DTD,在XML文檔內部嵌入DTD,只對當前XML有效。

2.外部DTD——本地DTD,DTD文檔在本地系統上,公司內部本身項目使用。

3.外部DTD——公共DTD,DTD文檔在網絡上,通常都有框架提供。

Schema約束:

Schema是新的XML文檔約束。

Schema要比DTD強大不少,是DTD替代者

Schema自己也是XML文檔,但Schema文檔的擴展名爲xsd,而不是xml。

Schema功能更強大,數據類型更完善。

Schema支持名稱空間。

 

dom4j解析:

解析方式和解析器:

開發中比較常見的解析方式有三種,以下:

1.DOM:要求解析器把整個XML文檔裝載到內存,並解析成一個Document對象。

a) 優勢:元素與元素之間保留結構關係,故能夠進行增刪改查操做。

b) 缺點:XML文檔過大,可能出現內存溢出顯現。

SAX:是一種速度更快,更有效的方法。它逐行掃描文檔,一邊掃描一邊解析。並以事件 驅動的方式進行具體解析,每執行一行,都將觸發對應的事件。

a) 優勢:處理速度快,能夠處理大文件

b) 缺點:只能讀,逐行後將釋放資源。

3. PULL:  Android內置的XML解析方式,相似SAX

解析器:就是根據不一樣的解析方式提供的具體實現。

相關文章
相關標籤/搜索