天天看点

java xml 字符串转对象_XML字符串和JAVA对象之间的转化

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,可以参考明哥。 @待完善