DOM是基于樹形結構的的節(jié)點或信息片段的集合品姓,允許開發(fā)人員使用其API來遍歷XML樹、檢索所需數(shù)據(jù)埂陆。分析它的結構通常需要加載整個文檔和構造樹形結構乘盖,之后才可以進行檢索和更新節(jié)點信息。
Android支持DOM 解析倾芝。通過利用DOM中的對象讨勤,可以對XML文檔進行一系列操作箭跳,讀取、 搜索潭千、修改谱姓、添加和刪除等。
DOM工作原理:使用DOM對XML文件進行操作的時候刨晴,首先要解析文件屉来,將文件分為獨立的元素、屬性和注釋等割捅,然后以節(jié)點樹的形式在內存中對XML文件進行表示奶躯,就可以通過節(jié)點樹訪問文檔的內容,并根據(jù)需要修改文檔——這就是DOM的工作原理亿驾。
DOM實現(xiàn)時首先為XML文檔的解析定義一組接口嘹黔,解析器讀入整個文檔,然后構造一個駐留內存的樹結構莫瞬,這樣代碼就可以使用DOM接口來操作整個樹結構儡蔓。
由于DOM在內存中以樹形結構存放,因此檢索和更新效率會更高疼邀。但是對于特別大的文檔喂江,解析和加載整個文檔將會很耗資源。當然旁振,如果XML文件的內容比較小获询,采用DOM是可行的。
常用的Dom接口和類:
Document:該接口定義分析并創(chuàng)建DOM文檔的一系列方法拐袜,它是文檔樹的根吉嚣,是操作DOM的基礎。
Element:該接口繼承Node接口蹬铺,提供了獲取尝哆、修改XML元素名字和屬性的方法。
Node:該接口提供處理并獲取節(jié)點和子節(jié)點值的方法甜攀。
NodeList:提供獲得節(jié)點個數(shù)和當前節(jié)點的方法秋泄。這樣就可以迭代地訪問各個節(jié)點。
DOMParser:該類是Apache的Xerces中的DOM解析器類规阀,可直接解析XML文件恒序。