JAXB เป็น Library ของ Java ที่ใช่ให้เราสามารถ เก็บข้อมูลของObject ในรูปของ File XML โดยสามารถ เปลี่ยนไปมาระหว่าง XML กับ Object ซึ่งมีประโยชน์อย่างมากงานการจัดเก็บข้อมูล
สำหรับผู้ที่สนใจเกี่ยวกับการทำงานของ JAXB สามารถศึกษาได้จาก Presentation ด้านล่างนี้ค่ะ
สำหรับผู้ที่สนใจเกี่ยวกับการทำงานของ JAXB สามารถศึกษาได้จาก Presentation ด้านล่างนี้ค่ะ
ต่อไปจะเป็นตัวอย่างโปรแกรมในการทำ Bilding ใน NetBean
1. เริ่มต้นด้วย New Project สร้าง Java Application ขึ้นมา

2. New File เลือก XML และ JAVA Binding แล้วกด Next

3. ตั้งชื่อ Binding Name และ Browse ไฟล์ไปที่ XML Schema แล้วคลิกที่ปุ่ม Finish

4. ภาพที่แสดงการ binding สำเร็จ

การทำ object เป็น xml ไฟล์
1. Main Program เราสร้าง Object ของ class Student ซึ่งเป็นหนึ่งใน class ที่ถูกสร้างขึ้นจาก XML Schema โดยใช้ ObjectFactory ด้วยคำสั่ง
Student s[] = new Student[7];
จากนั้นตามด้วยข้อมูลที่ต้องการสร้าง
for(int i=0;i<=6;i++){
s[i] = new ObjectFactory().createStudent(); }

2. จากนั้น พิมพ์คำสั่ง jaxbm แล้วกด tab จะได้
try {
for(int i=1;i<=6;i++)
{
javax.xml.bind.JAXBContext jaxbCtx = javax.xml.bind.JAXBContext.newInstance(s[i].getCla
ss().getPackage().getName());
javax.xml.bind.Marshaller marshaller = jaxbCtx.createMarshaller();
marshaller.setProperty(javax.xml.bind.Marshaller.JAXB_ENCODING, "UTF-8"); //NOI18N
marshaller.setProperty(javax.xml.bind.Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
marshaller.marshal(s[i], System.out);
}
} catch (javax.xml.bind.JAXBException ex) {
// XXXTODO Handle exception
java.util.logging.Logger.getLogger("global").log(java.util.logging.Level.SEVERE, null, ex); //NOI18N
}
3. เมื่อกด run จะได้ผลลัพธ์ที่เป็น xml ดังนี้

การแปลง xml ไปเป็น object
1. อันนี้เป็นไฟล์ Student.xml ที่สร้างเอาไว้
2. ใน Main Program เราจะสร้าง Object ของclass Area ซึ่งเป็นหนึ่งใน class ที่ถูกสร้างขึ้นจาก XML Schema โดยใช้ ObjectFactory ด้วยคำสั่ง
Student s = new ObjectFactory().createStudent();
3. ใน Main Program พิมพ์ jaxbu แล้วกดปุ่ม Tab บน Keyboard จะได้โค้ดโปรแกรมดังภาพ
try {
javax.xml.bind.JAXBContext jaxbCtx = javax.xml.bind.JAXBContext.newInstance(s.getClass().getPackage().getName());
javax.xml.bind.Unmarshaller unmarshaller = jaxbCtx.createUnmarshaller();
s = (Student) unmarshaller.unmarshal(new java.io.File("D://Student.XML")); //NOI18N
} catch (javax.xml.bind.JAXBException ex) {
// XXXTODO Handle exception
java.util.logging.Logger.getLogger("global").log(java.util.logging.Level.SEVERE, null, ex); //NOI18N
}
4. เพิ่มส่วนแสดงผล ด้วยคำสั่ง
System.out.println("Student Detail");
System.out.print(s.getStudentID());
System.out.print("\t"+s.getStudentFirstName());
System.out.println("\t"+s.getStudentLastName());
5. ผลลัพธ์ที่ได้


























