文檔對象模型是萬維網聯盟(W3C)的官方推薦。它定義了一個介面,使程式能夠訪問和更新樣式,結構和XML文檔的內容。支持DOM實現該介面的XML解析器。
何時使用?
在以下幾種情況時,應該使用DOM解析器:
-
需要知道很多關於文檔的結構
-
需要將文檔的部分周圍(例如,可能需要某些元素進行排序)
-
需要使用的檔中的資訊超過一次
會得到什麼?
當使用DOM 解析器解析一個XML文檔,會得到一個樹形結構,其中包含的所有文檔的元素。 DOM提供了多種可用於檢查文檔的內容和結構的函數。
優勢
DOM是用於處理文檔結構的通用介面。它的一個設計目標是Java代碼編寫一個DOM相容的解析器,運行在任何其他的DOM相容的解析器不會有變化。
DOM介面
DOM定義了幾個Java介面。這裏是最常見的介面:
-
節點 - DOM的基本數據類型。
-
元素 - 要處理的對象絕大多數是元素。
-
Attr - 代表元素的屬性。
-
文本 - 元素或Attr的實際內容。
-
文檔 - 代表整個XML文檔。文檔對象是通常被稱為DOM樹。
常見的DOM方法
當正在使用DOM,有經常用到的幾種方法:
-
Document.getDocumentElement() - 返回文檔的根元素。
-
Node.getFirstChild() - 返回給定節點的第一個子節點。
-
Node.getLastChild() - 返回給定節點的最後一個子節點。
-
Node.getNextSibling() - 這些方法返回一個特定節點的下一個兄弟節點。
-
Node.getPreviousSibling() - 這些方法返回一個特定節點的前一個兄弟節點。
-
Node.getAttribute(attrName) - 對於給定的節點,則返回所請求的名字的屬性。