Java DOM 解析器 - 概述



Java DOM 解析器是一個 API(應用程式程式設計介面),它包含用於透過建立 DOM 樹結構來解析 XML 文件的類、介面和方法。

文件物件模型 (DOM) 是全球資訊網聯盟 (W3C) 的一項正式建議。它定義了一個介面,使程式能夠訪問和更新 XML 文件的樣式、結構和內容。

何時使用 Java DOM 解析器?

您應該在以下情況下使用 DOM 解析器:

  • 您需要了解有關文件結構的大量資訊。

  • 您需要移動 XML 文件的某些部分(例如,您可能希望對某些元素進行排序)。

  • 您需要多次使用 XML 文件中的資訊。

解析的結果是什麼?

當您使用 DOM 解析器解析 XML 文件時,您將獲得一個包含文件所有元素的樹結構。DOM 提供了各種功能,您可以使用這些功能來檢查文件的內容和結構。

優點

以下是 Java DOM 解析器的一些優點:

  • DOM 是一個非常簡單的 API。

  • 由於整個文件都載入到記憶體中,因此可以輕鬆訪問和修改文件的任何部分。

  • 為一個符合 DOM 標準的解析器編寫的 Java 程式碼應該可以在任何其他符合 DOM 標準的解析器上執行,而無需進行任何修改。

缺點

以下是 Java DOM 解析器的一些缺點:

  • 消耗更多記憶體

  • 不適合大型文件。

  • 不適用於 PDA 和手機等小型裝置。

DOM 介面

以下是最常用的 DOM 介面:

介面 描述
Document 表示 XML 或 HTML 文件。
Node 文件物件模型 (DOM) 的主要資料型別
NodeList 節點的有序集合。
Element 表示 XML 文件中的元素。
Attr 表示 Element 物件的屬性。
Text 表示元素或屬性的文字內容,繼承自“CharacterData”介面。

DOM 方法

以下是最常用的 DOM 方法:

方法 描述
Document.getDocumentElement() 此方法返回文件的根元素。
Document.getElementsByTagName() 此方法返回給定標籤名稱內所有元素的 NodeList。
Node.getFirstChild() 此方法返回給定節點的第一個子節點。
Node.getLastChild() 此方法返回給定節點的最後一個子節點。
Node.getNextSibling() 此方法返回給定節點的下一個同級節點。
Node.getPreviousSibling() 此方法返回文件的根元素。
Node.getAttribute(attrName) 此方法返回給定節點的請求名稱的屬性。
Node.getNodeName() 此方法返回節點的名稱。
Node.getTextContent() 此方法返回當前節點及其後代的文字內容。
NodeList.getLength() 此方法返回 NodeList 中的節點數。
NodeList.item(int index) 此方法返回 NodeList 中第index個節點。
廣告