3 Jaxb
3 Jaxb
JAXB
• JAXB stands for Java Architecture for XML
Binding.
• It provides mechanism to marshal (write) java
objects into XML and unmarshal (read) XML
into object.
• Simply, you can say it is used to convert java
object into xml and vice-versa..
JAXB
Features of JAXB
• Annotation support: JAXB provides support to
annotation so less coding is required to
develop JAXB application.
• Support for all W3C XML Schema features
• Additional Validation Capabilities
• Small Runtime Library
Converting Object into XML
• The steps to convert an object to XML are as
follows:
– Bind the schema and generate the classes
– Create the JAXBContext object
– Create the Marshaller objects
– Create the content tree by using set methods
– Call the marshal method
Employee.java
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class Employee {
int id;
String name;
float salary;
Employee.java (Contd)
public Employee() {}
public Employee(int id, String name, float salary)
{
super();
this.id = id;
this.name = name;
this.salary = salary;
}
Employee.java (Contd)
@XmlAttribute
public int getId()
{
return id;
}
public void setId(int id)
{
this.id = id;
}
Employee.java (Contd)
@XmlElement
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
Employee.java (Contd)
@XmlElement
public float getSalary()
{
return salary;
}
public void setSalary(float salary)
{
this.salary = salary;
}
} //End of class
ObjectToXml.java
import java.io.*;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
public class ObjectToXml
{
int id;
String name;
float sal;
ObjectToXml.java (Contd)
public static void main(String[] args) throws Exception
{
BufferedReader br=
new BufferedReader(new InputStreamReader(System.in));
System.out.println(“Enter name”);
name= br.readLine();
System.out.println(“Enter salary”);
sal= Float.parseFloat(br.readLine());
System.out.println(“Enter ID”);
id= Integer.parseInt(br.readLine());
ObjectToXml.java (Contd)
JAXBContext obj= JAXBContext.newInstance(Employee.class);
Marshaller m = obj.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);