1、JAXB中相關的注解、類和接口說明
JAXB 中主要的一些注解 - shenyunsese 的專欄 - CSDN 博客
注:教程很全面很詳細。但是僅供參考。
主要疑問區分和說明:
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 元素上的一個屬性)。
注意元素和屬性。每個元素都可以有屬性,這個屬性對應的是哪個元素呢?見:JAXB(二)—— 核心注解介紹 - Elim 的博客 - ITeye 博客
2、Demo和工具類
可以參考教程:玩轉 Java 對象和 XML 相互轉換 - Steven - CSDN 博客
該教程的主要內容優點:包含詳細的Demo和說明。
- XML字符串到JAVA對象
- XML文件到JAVA對象
- JAVA對象到XML字符串
- JAVA對象到XML文件
- 還有對於 List 等集合的處理。
同時,教程中有一個很好的工具類 XMLUtil.java
,可以參考,很好的一個工具類
另外的工具類Demo,可以參考明哥。 @待完善