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; } }


上一篇:
下一篇:
切换中文