JAXB (Java Architecture XML Binding)

JAXB merupakan salah satu library di Java yang digunakan untuk mengkonversi Object ke XML dan sebaliknya.

Berikut contoh pemakaiannya :

1. Menulis ke File

a. Buat kelas dengan nama misalnya Employee dengan isi sebagai berikut :

package testingjaxb;

import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class Employee {

 private int id;
 private String name;
 private int age;

 public Employee() {
 }

 public int getAge() {
     return age;
 }

 @XmlElement
 public void setAge(int age) {
     this.age = age;
 }

 public int getId() {
     return id;
 }

 @XmlAttribute
 public void setId(int id) {
     this.id = id;
 }

 public String getName() {
     return name;
 }

 @XmlElement
 public void setName(String name) {
     this.name = name;
 }
}

b. Buat kelas ang lain untuk proses menulis ke data menggunakan object dari kelas Employee ke file xml.

</pre>
package testingjaxb;

import java.io.File;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;

public class WriteData {

public static void main(String[] args) {
 Employee empl = new Employee();
 empl.setId(123);
 empl.setName("Vyor Oppier");
 empl.setAge(29);

 try {

 File file = new File("D:\\empl.xml");
 JAXBContext jaxbContext = JAXBContext.newInstance(Employee.class);
 Marshaller jaxbMarshaller = jaxbContext.createMarshaller();

 jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);

 jaxbMarshaller.marshal(empl, file);
 jaxbMarshaller.marshal(empl, System.out);

 } catch (JAXBException e) {
    e.getStackTrace();
 }
 }
}

Ketika baris perintah diatas dijalankan maka Java akan membentuk file xml dengan data Employee yang kita set sebelumnya.

2.  Membaca file.

Untuk membaca file xml caranya adalah sebagai berikut : (File yang dibaca adalah file yang ditulis sebelumnya dengan menggunakan langkah 1).

package testingjaxb;

import java.io.File;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;

public class ReadData {

public static void main(String[] args) {
 try {

 File file = new File("D:\\empl.xml");
 JAXBContext jaxbContext = JAXBContext.newInstance(Employee.class);

 Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
 Employee empl= (Employee) jaxbUnmarshaller.unmarshal(file);
 System.out.println(empl.getName());

 } catch (JAXBException e) {
    e.getStackTrace();
 }
 }
}

Happy Coding. ­čÖé

Advertisements