天天看點

使用JAXB互相轉化bean對象與xml

java可以輕松的将xml檔案轉化為bean對象

這裡介紹一個強大的工具jaxb,其實jdk就有這個功能,但是感覺不怎麼強大,而且jaxb還可以根據xsd結構來生成對象。有空會介紹

1、javabean對象

這個是根對象,如果根對象隻有1個元素完全可以用@XmlElementWrapper來代替,但是為了更好的擴充我這裡使用一般的定義

這個特别注明的是

[color=red]@XmlAccessorType的預設通路級别是XmlAccessType.PUBLIC_MEMBER,是以,如果java對象中的private成員變量設定了public權限的getter/setter方法,就不要在private變量上使用@XmlElement和@XmlAttribute注解,否則在由java對象生成xml時會報同一個屬性在java類裡存在兩次的錯誤。同理,如果@XmlAccessorType的通路權限為XmlAccessType.NONE,如果在java的成員變量上使用了@XmlElement或@XmlAttribute注解,這些成員變量依然可以映射到xml檔案。[/color]

我們這樣可以自己控制要生成的對象

子節點 這裡就沒什麼好說的。

2、具體實作

具體的實作很簡單

先看marshaller

調用

最後生成的xml

最後看unmarshaller