package com.doj.jaxb;
import java.util.List;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
/**
* @author Dinesh Rajput
*
*/
@XmlRootElement
public class Employee {
private int empid;
private String name;
private float salary;
private List<Address> address;
@XmlAttribute
public int getEmpid() {
return empid;
}
public void setEmpid(int empid) {
this.empid = empid;
}
@XmlElement
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@XmlElement
public float getSalary() {
return salary;
}
public void setSalary(float salary) {
this.salary = salary;
}
@XmlElement
public List<Address> getAddress() {
return address;
}
public void setAddress(List<Address> address) {
this.address = address;
}
}
Address.javapackage com.doj.jaxb;
/**
* @author Dinesh Rajput
*
*/
public class Address {
private String locality;
private String city;
private int pin;
public String getLocality() {
return locality;
}
public void setLocality(String locality) {
this.locality = locality;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public int getPin() {
return pin;
}
public void setPin(int pin) {
this.pin = pin;
}
}
JaxBMarshalTest.javapackage com.doj.jaxb;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
/**
* @author Dinesh Rajput
*
*/
public class JaxBMarshalTest {
/**
* @param args
* @throws JAXBException
* @throws FileNotFoundException
*/
public static void main(String[] args) throws JAXBException, FileNotFoundException {
JAXBContext contextObj = JAXBContext.newInstance(Employee.class);
Marshaller marshallerObj = contextObj.createMarshaller();
marshallerObj.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
Address localAddress = new Address();
localAddress.setLocality("Sector-88");
localAddress.setCity("Noida");
localAddress.setPin(201301);
Address permanentAddress = new Address();
permanentAddress.setLocality("Kamala Nagar");
permanentAddress.setCity("Kannauj");
permanentAddress.setPin(209724);
List<Address> list=new ArrayList<Address>();
list.add(localAddress);
list.add(permanentAddress);
Employee emp = new Employee();
emp.setEmpid(1111);
emp.setName("Dinesh Rajput");
emp.setSalary(100000);
emp.setAddress(list);
marshallerObj.marshal(emp, new FileOutputStream("employee.xml"));
}
}
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<employee empid="1111">
<address>
<city>Noida</city>
<locality>Sector-88</locality>
<pin>201301</pin>
</address>
<address>
<city>Kannauj</city>
<locality>Kamala Nagar</locality>
<pin>209724</pin>
</address>
<name>Dinesh Rajput</name>
<salary>100000.0</salary>
</employee>

Labels: JAXB