public class Student {
private String name;
private int age;
public Student() {
}
// Getters and setters
// ...
}
import jakarta.xml.bind.annotation.XmlRootElement;
import jakarta.xml.bind.annotation.XmlElement;
@XmlRootElement
public class Student {
private String name;
private int age;
public Student() {
}
@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;
}
// ...
}
import jakarta.xml.bind.JAXBContext;
import jakarta.xml.bind.JAXBException;
import jakarta.xml.bind.Marshaller;
import java.io.FileOutputStream;
import java.io.IOException;
public class JAXBExample {
public static void main(String[] args) {
try {
Student student = new Student();
student.setName("John Doe");
student.setAge(20);
JAXBContext jaxbContext = JAXBContext.newInstance(Student.class);
Marshaller marshaller = jaxbContext.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.marshal(student, new FileOutputStream("student.xml"));
e.printStackTrace();
}
}
}
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<student>
<name>John Doe</name>
<age>20</age>
</student>
import jakarta.xml.bind.JAXBContext;
import jakarta.xml.bind.JAXBException;
import jakarta.xml.bind.Unmarshaller;
import java.io.FileInputStream;
import java.io.IOException;
public class JAXBExample {
public static void main(String[] args) {
try {
JAXBContext jaxbContext = JAXBContext.newInstance(Student.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
Student student = (Student) unmarshaller.unmarshal(new FileInputStream("student.xml"));
System.out.println("Name: " + student.getName());
System.out.println("Age: " + student.getAge());
e.printStackTrace();
}
}
}
plaintext
Name: John Doe
Age: 20
import jakarta.xml.bind.annotation.XmlAttribute;
import jakarta.xml.bind.annotation.adapters.XmlAdapter;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateAdapter extends XmlAdapter<String, Date> {
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
@Override
public Date unmarshal(String v) {
try {
return dateFormat.parse(v);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
@Override
public String marshal(Date v) {
return dateFormat.format(v);
}
}
public class Student {
private String name;
private Date birthDate;
public Student() {
}
// Getters and setters
// ...
}
import jakarta.xml.bind.annotation.XmlRootElement;
import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
@XmlRootElement
public class Student {
private String name;
private Date birthDate;
public Student() {
}
// Getters and setters
@XmlElement
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@XmlElement
@XmlJavaTypeAdapter(DateAdapter.class)
public Date getBirthDate() {
return birthDate;
}
public void setBirthDate(Date birthDate) {
this.birthDate = birthDate;
}
}