<dependency> <groupId>jakarta.xml.bind</groupId> <artifactId>jakarta.xml.bind-api</artifactId> <version>3.0.0</version> </dependency> @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; } } public class JAXBUtil { public static void marshal(Object object, OutputStream outputStream) throws JAXBException { JAXBContext context = JAXBContext.newInstance(object.getClass()); Marshaller marshaller = context.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); marshaller.marshal(object, outputStream); } } public class JAXBUtil { // ... public static Object unmarshal(InputStream inputStream, Class<?> clazz) throws JAXBException { JAXBContext context = JAXBContext.newInstance(clazz); Unmarshaller unmarshaller = context.createUnmarshaller(); return unmarshaller.unmarshal(inputStream); } } public class Main { public static void main(String[] args) { Person person = new Person(); person.setAge(25); try { JAXBUtil.marshal(person, new FileOutputStream("person.xml")); Person parsedPerson = (Person) JAXBUtil.unmarshal(new FileInputStream("person.xml"), Person.class); System.out.println(parsedPerson.getName()); System.out.println(parsedPerson.getAge()); e.printStackTrace(); } } }


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