Apa Itu DOM Parser?
DOM Parser adalah salah satu metode untuk mem-parsing dokumen XML, dalam arti membaca dan memodifikasi file XML.Selain DOM Parser, ada banyak metode yang digunakan dalam parsing dokumen XML, seperti SAX Parser, JDOM Parser, sTAX Parser, XPath, DOM4J, dan lain sebagainya.
Langkah-Langkah
Di bawah ini adalah langkah-langkah untuk membaca file XML menggunakan metode DOM Parser di Java:1. Import semua package yang dibutuhkan
library atau package DOM Parser di Java merupakan built-in package, sehingga Anda tidak perlu menambahkan di class path.
Di bawah ini merupakan package-package yang dibutuhkan untuk parsing dokumen XML menggunakan DOM Parser
import org.w3c.dom.*; import javax.xml.parsers.*; import java.io.*;
2. Buat object dari kelas DocumentBuilder dan DocumentBuilderFactory
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder();
3. Parsing file XML menggunakan kelas Document
File input = new File("input.xml"); Document doc = builder.parse(input);
4. Ekstrak element paling luar (root element)
Element root = document.getDocumentElement();
5. Membaca nilai atribut (attribute) dari element di setiap node.
Element element = (Element) node; element.getAttributes("attributeName");
6. Membaca nilai (value) dari tag
element.getTagByName("tagName").item(i).getTextContent();
Contoh
Sebelum Anda ber-coding ria untuk mem-parsing dokumen XML menggunakan DOM Parser, hal pertama yang Anda harus lakukan terlebih dahulu adalah tentunya menyiapkan file XML yang akan di parsing.Di bawah ini adalah contoh file XML yang akan kita gunakan sebagai contoh.
pegawai.xml
<?xml version="1.0"?> <company> <pegawai id="001"> <nama>Nursalim</nama> <umur>20</umur> <alamat>Brebes</alamat> <gender>Laki Laki</gender> <departemen>IT</departemen> </pegawai> <pegawai id="002"> <nama>Iskiyati</nama> <umur>18</umur> <alamat>Jakarta</alamat> <gender>Perempuan</gender> <departemen>ACC</departemen> </pegawai> <pegawai id="003"> <nama>Nurul Hikmah</nama> <umur>18</umur> <alamat>Jakarta</alamat> <gender>Perempuan</gender> <departemen>HR</departemen> </pegawai> </company>
Setelah Anda menyiapkan file XML, langkah selanjutnya adalah membuat program Java untuk membaca file XML diatas menggunakan metode DOM Parser.
Program Java
package com.nursalim.xml.dom; import java.io.File; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class ReadXMLDemo { public static void main(String[] args){ try{ File inputFile = new File("D:/contoh/java-xml/pegawai.xml"); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = factory.newDocumentBuilder(); Document document = docBuilder.parse(inputFile); document.getDocumentElement().normalize(); System.out.println("Root Element : "+document.getDocumentElement().getNodeName()); NodeList nodeList = document.getElementsByTagName("pegawai"); System.out.println("------------------"); for(int i = 0; i < nodeList.getLength(); i++){ Node node = nodeList.item(i); System.out.println("Current Element : "+node.getNodeName()); if(node.getNodeType() == Node.ELEMENT_NODE){ Element element = (Element) node; System.out.println(" ID pegawai : "+element.getAttribute("id")); System.out.println(" Nama Pegawai : "+element.getElementsByTagName("nama").item(0).getTextContent()); System.out.println(" Umur : "+element.getElementsByTagName("umur").item(0).getTextContent()); System.out.println(" Alamat : "+element.getElementsByTagName("alamat").item(0).getTextContent()); System.out.println(" Gender : "+element.getElementsByTagName("gender").item(0).getTextContent()); System.out.println(" Departemen : "+element.getElementsByTagName("departemen").item(0).getTextContent()); } } }catch(Exception ex){ ex.printStackTrace(); } } }
Output
Coba Anda jalankan program java diatas, kalau tidak ada error maka akan keluar output seperti di bawah ini:
Root Element : company ------------------ Current Element : pegawai ID pegawai : 001 Nama Pegawai : Nursalim Umur : 20 Alamat : Brebes Gender : Laki Laki Departemen : IT Current Element : pegawai ID pegawai : 002 Nama Pegawai : Iskiyati Umur : 18 Alamat : Jakarta Gender : Perempuan Departemen : ACC Current Element : pegawai ID pegawai : 003 Nama Pegawai : Nurul Hikmah Umur : 18 Alamat : Jakarta Gender : Perempuan Departemen : HR
~~~## Java XML##~~~
Sekian tutorial singkat tentang Membaca File XML Menggunakan. Semoga bermanfaat & Happy Learning Java XML.
0 comments:
Post a Comment