JAXB 快速實現XML資料轉換Java物件
主題: |
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 Java(Unmarshaller)
5. Java物件轉換XML資料
5.1、 定義Java物件
同4.2
5.2、 Java To XML(Marshaller)
產出的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/