Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Membaca dan Menulis Fail XML dalam Java Menggunakan DOM dan API Transformer?

Bagaimanakah Saya Boleh Membaca dan Menulis Fail XML dalam Java Menggunakan DOM dan API Transformer?

Patricia Arquette
Patricia Arquetteasal
2024-11-30 10:28:19400semak imbas

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

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:

  1. 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.*;
  2. Buat pembina dokumen:

    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
  3. Menghuraikan XML fail:

    Document dom = db.parse(xml);
  4. Dapatkan elemen akar:

    Element doc = dom.getDocumentElement();
  5. 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:

  1. Buat dokumen:

    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
    Document dom = db.newDocument();
  2. Buat elemen akar:

    Element rootEle = dom.createElement("roles");
  3. Tambahkan elemen data pada akar:

    Element e = dom.createElement("role1");
    e.appendChild(dom.createTextNode(role1));
    rootEle.appendChild(e);
  4. Tambahkan elemen punca pada dokumen:

    dom.appendChild(rootEle);
  5. Buat pengubah:

    Transformer tr = TransformerFactory.newInstance().newTransformer();
  6. 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");
  7. 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn