2012年5月25日 星期五

用JAXB讀寫XML

Java Architecture for XML Binding (JAXB)

這個 lib已經在jdk 1.6內所以不用額外下載了。

用法很簡單,看官方的文件就很清楚了,由XML轉成(parse、unmarshal)物件,或由物件產生(marsha)XML都可以輕鬆完成。

這邊只是做個記事,在這次的專案用到產生XML的tag是會需要有順序性的,比如說

Content內嵌有Epg,Media,Content(就是Content又包有Content tag) 三個sub tag

Java在定義物件會是

@XmlAccessorType(XmlAccessType.FIELD)

public class Content{

 @XmlElement(name = "Content")
    protected List contents;

@XmlElement(name = "Epg")
    protected List epgs;

@XmlElement(name = "Media")
    protected List media;

...

}

如果需要考慮到出現順序,就要加上

@XmlAccessorType(XmlAccessType.FIELD)

@XmlType(propOrder={"epgs", "media","contents"})

...

如此就能控制tag順序為Epg,Media,Content。

注意propOrder要填入的是物件的屬性而非tag名稱

沒有留言:

張貼留言

COVID-19 確診經歷紀實

原本以為真的是天選之人,就算先前家裡兩個小孩都確診都逃過了(可能有中獎但無症狀吧),不過就在2023年六月18日破解自認為天選之人的"心態",為什麼可以確認就是這天中獎的呢?因為在前都是居家上班,到人多的室內場所都會戴口罩,就剛好這天傍晚原本只想說要去附近的國...