Java XML - Membaca File XML Menggunakan DOM Parser

Pada tutorial kali ini, Kita akan mempelajari bagaimana cara membaca file XML di Java menggunakan DOM XML Parser. Metode ini merupakan metode yang paling simpel dan sederhana, karena metode ini akan membaca seluruh dokumen XML di tiap-tiap node dan menyimpannya di memory.

Kelemahan dari metode ini adalah ketika kita membaca file XML yang memuat banyak data, maka proses pembacaan akan lambat dan memakan banyak memory.

Untuk mengatasi masalah ini, ada salah satu metode lagi yang lebih cepat dari metode DOM Parser yaitu metode SAX Parser. Metode SAX Parser ini akan kita bahas pada tutorial selanjutnya.

Langkah 1. Buat File XML

Buatlah file XML dengan nama mahasiswa.xml seperti dibawah ini:

Membaca FIle XML dengan DOM Parser
mahasiswa.xml
Simpan file mahasiswa.xml di folder yang telah ditentukan, misalnya di folder C:\xml


Langkah 2. Buat Program Java Untuk Membaca XML

Nama file : DOMReadXMLDemo.java

package com.nursalim.javabasic.xml.dom;
 
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;
import org.w3c.dom.Element;
import java.io.File;
 
public class DOMReadXMLFileDemo {
 
  public static void main(String[] args) {
 
    try {
 
      File xmlFile = new File("C:\xml\mahasiswa.xml");
      DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
      DocumentBuilder docBuilder = dbFactory.newDocumentBuilder();
      Document doc = docBuilder.parse(xmlFile); 
	
      doc.getDocumentElement().normalize();
 
      System.out.println("Element Root : " + doc.getDocumentElement().getNodeName());
 
      NodeList nodeList = doc.getElementsByTagName("mahasiswa");
 
      System.out.println("=============================");
 
      for (int temp = 0; temp < nodeList.getLength(); temp++) {
 
	 Node node = nodeList.item(temp);
 
	 System.out.println("\nCurrent Element : " + node.getNodeName());
 
         if (node.getNodeType() == Node.ELEMENT_NODE) {
 
            Element element = (Element) node;
 
	    System.out.println("Mahasiswa NPM : " + element.getAttribute("npm"));
	    System.out.println("Nama : " + element.getElementsByTagName("nama").item(0).getTextContent());
            System.out.println("Alamat : " + element.getElementsByTagName("alamat").item(0).getTextContent());
	    System.out.println("Fakultas : " + element.getElementsByTagName("fakultas").item(0).getTextContent());
            System.out.println("Jurusan : " + element.getElementsByTagName("jurusan").item(0).getTextContent());
 
	}
      }
    } catch (Exception e) {
	e.printStackTrace();
    }
  }
 
}

Langkah 3. Hasil

Apabila di eksekusi, maka outputnya seperti di bawah ini:
Element Root : universitas
=============================
 
Current Element :mahasiswa
Mahasiswa NPM : 201450112
Nama : Nursalim
Alamat : Jakarta
Fakultas : Teknik
Jurusan : Teknik Informatika
 
Current Element :mahasiswa
Mahasiswa NPM : 201470001
Nama : 201450112
Alamat : Bandung
Fakultas : Bahasa & Sastra
Jurusan : Sastra Inggris

Current Element :mahasiswa
Mahasiswa NPM : 201480010
Nama : Dani Prasetyo
Alamat : Semarang
Fakultas : MIPA
Jurusan : Matematika

Download Tulisan & File Contoh

  • Silahkan download contoh tulisan disini.
  • Silahkan download File contoh disini.

Post a Comment