@XmlRootElement
@XmlType(propOrder = {"name", "age"})
public class Person {
private String name;
private int age;
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int getAge() { return age; }
public void setAge(int age) { this.age = age; }
}
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import java.io.File;
public class Main {
public static void main(String[] args) {
try {
JAXBContext context = JAXBContext.newInstance(Person.class);
Marshaller marshaller = context.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
Unmarshaller unmarshaller = context.createUnmarshaller();
Person person = new Person();
person.setName("John");
person.setAge(25);
marshaller.marshal(person, new File("person.xml"));
Person parsedPerson = (Person) unmarshaller.unmarshal(new File("person.xml"));
System.out.println("Name: " + parsedPerson.getName());
System.out.println("Age: " + parsedPerson.getAge());
} catch (JAXBException e) {
e.printStackTrace();
}
}
}