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:mahasiswa.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