1.导包
<dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>2.1.9</version> </dependency> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.2.12</version> </dependency>
2.定义XML实体类
@Data @XmlAccessorType(XmlAccessType.FIELD) @XmlRootElement public class Enumeration { @XmlElement(name = "item") private List<EnumItem> items; @Data @XmlAccessorType(XmlAccessType.FIELD) @XmlRootElement public static class EnumItem { @XmlAttribute private String value; @XmlAttribute private String title; @Override public String toString() { return "EnumItem{" + "value='" + value + '\'' + ", title='" + title + '\'' + '}'; } } @Override public String toString() { return "Enumeration{" + "items=" + items + '}'; } }
2.解析
JAXBContext jaxbContext = JAXBContext.newInstance(Enumeration .class, MyClass.class);Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();MyClass class=(MyClass)unmarshaller.unmarshal(...);