首頁 >Java >java教程 >如何使用 DOM 和 Transformer API 在 Java 中讀寫 XML 檔案?

如何使用 DOM 和 Transformer API 在 Java 中讀寫 XML 檔案?

Patricia Arquette
Patricia Arquette原創
2024-11-30 10:28:19390瀏覽

How Can I Read and Write XML Files in Java Using DOM and Transformer API?

讀寫 XML 檔案:初學者指南

XML 在資料交換和儲存中起著至關重要的作用。為了有效管理 XML 文件,了解如何使用 Java 讀寫它們非常重要。本指南將逐步引導您完成整個過程。

讀取 XML 文件

要讀取 XML 文件,我們將使用文檔物件模型 (DOM) 。 DOM 提供了表示 XML 文件的樹狀結構。操作方法如下:

  1. 匯入必要的函式庫:

    import javax.xml.parsers.*;
    import javax.xml.transform.*;
    import javax.xml.transform.dom.*;
    import javax.xml.transform.stream.*;
    import org.xml.sax.*;
    import org.w3c.dom.*;
  2. 建立文件產生器:

    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
  3. 解析XML file:
    Document dom = db.parse(xml);
  4. 取得根元素:
    Element doc = dom.getDocumentElement();

  5. 從元素中提取數根據:

    以下程式碼擷取「role1」元素的文字值作為範例:
    String role1 = getTextValue(doc.getElementsByTagName("role1"));

寫入XML 文件

要寫入 XML 文件,我們將使用 Transformer API。操作方法如下:
  1. 創建文檔:
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
    Document dom = db.newDocument();
  2. 創建根元素:
    Element rootEle = dom.createElement("roles");
  3. 將資料元素加入root:
    Element e = dom.createElement("role1");
    e.appendChild(dom.createTextNode(role1));
    rootEle.appendChild(e);
  4. 將根元素加入文件:
    dom.appendChild(rootEle);
  5. 建立變壓器:
    Transformer tr = TransformerFactory.newInstance().newTransformer();
  6. 設定輸出屬性:
    tr.setOutputProperty(OutputKeys.INDENT, "yes");
    tr.setOutputProperty(OutputKeys.METHOD, "xml");
    tr.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
    tr.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, "roles.dtd");
  7. 將DOM 寫入檔案:
    tr.transform(new DOMSource(dom), new StreamResult(new FileOutputStream(xml)));

private String getTextValue(NodeList nl) {
    String value = null;
    if (nl.getLength() > 0 && nl.item(0).hasChildNodes()) {
        value = nl.item(0).getFirstChild().getNodeValue();
    }
    return value;
}
輔助方法

我們使用這個輔助方法從XML 中提取文字值元素:

結論本指南全面概述如何使用DOM 和Transformer API 在Java 中讀寫XML 檔案。請記住實作存取器和修改器以有效地與資料互動。

以上是如何使用 DOM 和 Transformer API 在 Java 中讀寫 XML 檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn