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
Lepaskan: 2024-11-30 10:28:19
asal
377 orang telah melayarinya

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.*;
    Salin selepas log masuk
  2. Buat pembina dokumen:

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

    Document dom = db.parse(xml);
    Salin selepas log masuk
  4. Dapatkan elemen akar:

    Element doc = dom.getDocumentElement();
    Salin selepas log masuk
  5. Ekstrak data daripada elemen:
    Kod berikut mendapatkan semula nilai teks elemen "role1" sebagai contoh:

    String role1 = getTextValue(doc.getElementsByTagName("role1"));
    Salin selepas log masuk

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();
    Salin selepas log masuk
  2. Buat elemen akar:

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

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

    dom.appendChild(rootEle);
    Salin selepas log masuk
  5. Buat pengubah:

    Transformer tr = TransformerFactory.newInstance().newTransformer();
    Salin selepas log masuk
  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");
    Salin selepas log masuk
  7. Tulis DOM pada fail:

    tr.transform(new DOMSource(dom), new StreamResult(new FileOutputStream(xml)));
    Salin selepas log masuk

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;
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan