xjc schema.xsd
@XmlRootElement
public class Person {
private String name;
private int age;
@XmlElement
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@XmlElement
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
xjc schema.xsd
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="person" type="personType"/>
<xs:complexType name="personType">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="age" type="xs:int"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
public class JAXBExample {
public static void main(String[] args) {
try {
JAXBContext jaxbContext = JAXBContext.newInstance(Person.class);
Marshaller marshaller = jaxbContext.createMarshaller();
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
Person person = new Person();
person.setName("Alice");
person.setAge(25);
marshaller.marshal(person, new File("person.xml"));
Person unmarshalledPerson = (Person) unmarshaller.unmarshal(new File("person.xml"));
System.out.println(unmarshalledPerson.getName());
System.out.println(unmarshalledPerson.getAge());
} catch (JAXBException e) {
e.printStackTrace();
}
}
}