<dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.3.1</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>2.3.3</version> </dependency> <root> <person> <name>John Doe</name> <age>30</age> <address> <street>123 Main St</street> <city>New York</city> <state>NY</state> </address> </person> </root> import javax.xml.bind.annotation.*; @XmlRootElement(name = "root") @XmlAccessorType(XmlAccessType.FIELD) public class Root { @XmlElement(name="person") private Person person; // getters and setters } @XmlAccessorType(XmlAccessType.FIELD) public class Person { private String name; private int age; private Address address; // getters and setters } @XmlAccessorType(XmlAccessType.FIELD) public class Address { private String street; private String city; private String state; // getters and setters } import javax.xml.bind.*; import java.io.File; public class JAXBExample { public static void main(String[] args) { try { JAXBContext jaxbContext = JAXBContext.newInstance(Root.class); Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); Root root = (Root) unmarshaller.unmarshal(new File("example.xml")); System.out.println("Person Name: " + root.getPerson().getName()); System.out.println("Person Age: " + root.getPerson().getAge()); System.out.println("Person Address: " + root.getPerson().getAddress().getStreet() + ", " + root.getPerson().getAddress().getCity() + ", " + root.getPerson().getAddress().getState()); Marshaller marshaller = jaxbContext.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); marshaller.marshal(root, System.out); } catch (JAXBException e) { e.printStackTrace(); } } }


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