JAXB 快速實現XML資料轉換Java物件

李佳樺 2015/10/08 14:42:35
145







主題

JAXB 快速實XML資料轉換Java物件

文章簡介

使JAXB (Java Architecture for XML Binding) Java物件與XML資料進行轉換


作者:

李佳樺

版本/產出日期

V1.0/2015.09.15




1.前言

2.目的

3.開始前準備

4.XML資料轉換Java物件

5.Java物件轉換XML資料

6.參考來源





1. 前言

JAXB的全名是Java Architecture for XML Binding,是Sun官方發展的技術,提供Java物件和XML文件自動mapping的機制,使我們能夠很容易的操作XML

Java SE 6 之後就已包入相關jar檔,無需再另外下載



2. 目的

XML資料轉換Java物件

Java物件轉換XML資料



3. 開始前準備

本架構建立於以下版本的環境:

JDK7



4. XML資料轉換Java物件

4.1、 XML資料
此例為匯率資料,資料包含現金匯率和即期匯率

4.2、 定義Java物件
@XmlRootElement(name = "rates") 對應XML的根節點
<rates>..</rates>
多個rate節點
private List<Rate> rateList = new ArrayList<Rate>();     
@XmlElementRef(name = "rate")
public List<Rate> getRateList() {
    return rateList;

}
<rate>.</rate>
<rate>.</rate>




@XmlAttribute(name = "no") 映射到XML的属性
<rate no="USD">


@XmlElement(name = "name") 映射XML的節點
<name>日圓</name>

4.3、 XML To JavaUnmarshaller


5. Java物件轉換XML資料

5.1、 定義Java物件

4.2

5.2、 Java To XMLMarshaller


產出的XML資料如下:




6. 參考來源

Java Architecture for XML Binding (JAXB)

http://www.oracle.com/technetwork/articles/javase/index-140168.html

JAVA6開發WebService (五)—— JAXB

http://wuhongyu.iteye.com/blog/896323

What is JAXB and JAXB Example Code

http://blog.adamsbros.org/2010/02/07/jaxb-example-code/





李佳樺