讀寫 XML 檔案:初學者指南
XML 在資料交換和儲存中起著至關重要的作用。為了有效管理 XML 文件,了解如何使用 Java 讀寫它們非常重要。本指南將逐步引導您完成整個過程。
讀取 XML 文件
要讀取 XML 文件,我們將使用文檔物件模型 (DOM) 。 DOM 提供了表示 XML 文件的樹狀結構。操作方法如下:
匯入必要的函式庫:
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.*;
建立文件產生器:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder();
Document dom = db.parse(xml);
Element doc = dom.getDocumentElement();
從元素中提取數根據:
String role1 = getTextValue(doc.getElementsByTagName("role1"));
寫入XML 文件
要寫入 XML 文件,我們將使用 Transformer API。操作方法如下:DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document dom = db.newDocument();
Element rootEle = dom.createElement("roles");
Element e = dom.createElement("role1"); e.appendChild(dom.createTextNode(role1)); rootEle.appendChild(e);
dom.appendChild(rootEle);
Transformer tr = TransformerFactory.newInstance().newTransformer();
tr.setOutputProperty(OutputKeys.INDENT, "yes"); tr.setOutputProperty(OutputKeys.METHOD, "xml"); tr.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); tr.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, "roles.dtd");
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中文網其他相關文章!