<xs:complexType name="Person">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="age" type="xs:int"/>
</xs:sequence>
</xs:complexType>
bash
xjc schema.xsd
@XmlRootElement(name = "Person")
public class Person {
private String name;
private int age;
// Getters and setters
}
Person person = new Person();
person.setName("John");
person.setAge(30);
JAXBContext jaxbContext = JAXBContext.newInstance(Person.class);
Marshaller marshaller = jaxbContext.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.marshal(person, System.out);
<Person>
<name>John</name>
<age>30</age>
</Person>
JAXBContext jaxbContext = JAXBContext.newInstance(Person.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
String xml = "<Person><name>John</name><age>30</age></Person>";
StringReader reader = new StringReader(xml);
Person person = (Person) unmarshaller.unmarshal(reader);
System.out.println("Name: " + person.getName());
System.out.println("Age: " + person.getAge());
Name: John
Age: 30