如何使用 DOM 和 Transformer API 在 Java 中讀寫 XML 檔案?
讀寫 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();
登入後複製 - 解析XML file:
Document dom = db.parse(xml);
登入後複製 -
取得根元素:
Element doc = dom.getDocumentElement();
登入後複製 -
以下程式碼擷取「role1」元素的文字值作為範例:
從元素中提取數根據: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");
登入後複製 -
將資料元素加入root:
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");
登入後複製 -
將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中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

公司安全軟件導致部分應用無法正常運行的排查與解決方法許多公司為了保障內部網絡安全,會部署安全軟件。 ...

將姓名轉換為數字以實現排序的解決方案在許多應用場景中,用戶可能需要在群組中進行排序,尤其是在一個用...

系統對接中的字段映射處理在進行系統對接時,常常會遇到一個棘手的問題:如何將A系統的接口字段有效地映�...

在使用IntelliJIDEAUltimate版本啟動Spring...

在使用MyBatis-Plus或其他ORM框架進行數據庫操作時,經常需要根據實體類的屬性名構造查詢條件。如果每次都手動...

Java對象與數組的轉換:深入探討強制類型轉換的風險與正確方法很多Java初學者會遇到將一個對象轉換成數組的�...

電商平台SKU和SPU表設計詳解本文將探討電商平台中SKU和SPU的數據庫設計問題,特別是如何處理用戶自定義銷售屬...

Redis緩存方案如何實現產品排行榜列表的需求?在開發過程中,我們常常需要處理排行榜的需求,例如展示一個�...
