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。
解析器:就是根據不一樣的解析方式提供的具體實現。