XML字符串和JAVA對象之間的轉化


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM