DOM解析器

DOM是基于樹形結(jié)構(gòu)的的節(jié)點或信息片段的集合,允許開發(fā)人員使用其API來遍歷XML樹、檢索所需數(shù)據(jù)。分析它的結(jié)構(gòu)通常需要加載整個文檔和構(gòu)造樹形結(jié)構(gòu),之后才可以進(jìn)行檢索和更新節(jié)點信息。

Android支持DOM 解析。通過利用DOM中的對象,可以對XML文檔進(jìn)行一系列操作,讀取、 搜索、修改、添加和刪除等。

DOM工作原理:使用DOM對XML文件進(jìn)行操作的時候,首先要解析文件,將文件分為獨立的元素、屬性和注釋等,然后以節(jié)點樹的形式在內(nèi)存中對XML文件進(jìn)行表示,就可以通過節(jié)點樹訪問文檔的內(nèi)容,并根據(jù)需要修改文檔——這就是DOM的工作原理。

DOM實現(xiàn)時首先為XML文檔的解析定義一組接口,解析器讀入整個文檔,然后構(gòu)造一個駐留內(nèi)存的樹結(jié)構(gòu),這樣代碼就可以使用DOM接口來操作整個樹結(jié)構(gòu)。

由于DOM在內(nèi)存中以樹形結(jié)構(gòu)存放,因此檢索和更新效率會更高。但是對于特別大的文檔,解析和加載整個文檔將會很耗資源。當(dāng)然,如果XML文件的內(nèi)容比較小,采用DOM是可行的。

常用的Dom接口和類:

Document:該接口定義分析并創(chuàng)建DOM文檔的一系列方法,它是文檔樹的根,是操作DOM的基礎(chǔ)。

Element:該接口繼承Node接口,提供了獲取、修改XML元素名字和屬性的方法。

Node:該接口提供處理并獲取節(jié)點和子節(jié)點值的方法。

NodeList:提供獲得節(jié)點個數(shù)和當(dāng)前節(jié)點的方法。這樣就可以迭代地訪問各個節(jié)點。

DOMParser:該類是Apache的Xerces中的DOM解析器類,可直接解析XML文件。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容