Membaca dan Menulis Fail XML: Panduan Pemula
XML memainkan peranan penting dalam pertukaran dan penyimpanan data. Untuk mengurus fail XML dengan cekap, adalah penting untuk memahami cara membaca dan menulisnya menggunakan Java. Panduan ini akan membimbing anda melalui proses langkah demi langkah.
Membaca Fail XML
Untuk membaca fail XML, kami akan menggunakan Model Objek Dokumen (DOM) . DOM menyediakan struktur seperti pokok yang mewakili dokumen XML. Begini cara untuk melakukannya:
Import perpustakaan yang diperlukan:
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.*;
Buat pembina dokumen:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder();
Menghuraikan XML fail:
Document dom = db.parse(xml);
Dapatkan elemen akar:
Element doc = dom.getDocumentElement();
Ekstrak data daripada elemen:
Kod berikut mendapatkan semula nilai teks elemen "role1" sebagai contoh:
String role1 = getTextValue(doc.getElementsByTagName("role1"));
Menulis Fail XML
Untuk menulis fail XML, kami akan menggunakan Transformer API. Begini caranya:
Buat dokumen:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document dom = db.newDocument();
Buat elemen akar:
Element rootEle = dom.createElement("roles");
Tambahkan elemen data pada akar:
Element e = dom.createElement("role1"); e.appendChild(dom.createTextNode(role1)); rootEle.appendChild(e);
Tambahkan elemen punca pada dokumen:
dom.appendChild(rootEle);
Buat pengubah:
Transformer tr = TransformerFactory.newInstance().newTransformer();
Tetapkan output sifat:
tr.setOutputProperty(OutputKeys.INDENT, "yes"); tr.setOutputProperty(OutputKeys.METHOD, "xml"); tr.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); tr.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, "roles.dtd");
Tulis DOM pada fail:
tr.transform(new DOMSource(dom), new StreamResult(new FileOutputStream(xml)));
Kaedah Pembantu
Kami menggunakan kaedah pembantu ini untuk mengekstrak nilai teks daripada XML elemen:
private String getTextValue(NodeList nl) { String value = null; if (nl.getLength() > 0 && nl.item(0).hasChildNodes()) { value = nl.item(0).getFirstChild().getNodeValue(); } return value; }
Kesimpulan
Panduan ini telah memberikan gambaran menyeluruh membaca dan menulis fail XML dalam Java menggunakan DOM dan Transformer API. Ingat untuk melaksanakan pengakses dan mutator untuk berinteraksi dengan data dengan berkesan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membaca dan Menulis Fail XML dalam Java Menggunakan DOM dan API Transformer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!