1、JAXB中相关的注解、类和接口说明
主要疑问区分和说明:
1.1 @XmlElementWrapper 注解
对于数组或集合(即包含多个元素的成员变量),生成一个包装该数组或集合的 XML 元素(称为包装器。如果不加该注解,集合中的每个对象的父节点不是 List 了,而是 Class。
具体作用可以参考:JAXB 轻松转换 xml 对象和 java 对象 - 期待破茧成蝶 - CSDN 博客 中的Address,然后和 玩转 Java 对象和 XML 相互转换 - Steven - CSDN 博客 中的computers进行对比。
问题:XML子元素也可以有属性,这种属性要怎么映射?(暂时不知道)
1.2 @XmlAttribute 和 @XmlElement 的区别
基本区别很简单
- @XmlElement,将 Java 类的一个属性映射到与属性同名的一个 XML 元素。
- @XmlAttribute,将 Java 类的一个属性映射到与属性同名的一个 XML 属性(作为 Root 类对应 XML 元素上的一个属性)。
2、Demo和工具类
可以参考教程:玩转 Java 对象和 XML 相互转换 - Steven - CSDN 博客
该教程的主要内容优点:包含详细的Demo和说明。
- XML字符串到JAVA对象
- XML文件到JAVA对象
- JAVA对象到XML字符串
- JAVA对象到XML文件
- 还有对于 List 等集合的处理。
同时,教程中有一个很好的工具类 XMLUtil.java,可以参考,很好的一个工具类
另外的工具类Demo,可以参考明哥。 @待完善