2013-01-17 66 views
1

我從其他GET方法中獲得這個簡單的xml。用java編寫Restful服務。Rest - order GET response xml

<gear> 
     <price>355.95929799818884</price> 
     <idGear>1</idGear> 
     <year>1985</year> 
     <name>GPS</name> 
    </gear> 

我的問題是如何改變xml的順序?我想將idGear作爲第一個節點。這是基本還是比我想象的更復雜? 感謝您的幫助?

UPDATE:

@XmlRootElement 
@Entity(name="gear") 
public class Gear{ 

    @Id 
    @GeneratedValue 
    int idGear; 
    private String name; 
    private int year; 
    private double price; 
     //getters, setters 
+2

這是怎麼產生的,爲什麼你想改變順序? –

+0

xml是從mysql數據庫(休眠)中自動生成的。我認爲ID應該是第一個節點,只是爲了更合適的外觀 –

+1

你可以顯示正在被序列化的類來製作這個XML – cowls

回答

5

可以使用@XmlType註釋並設置propOrder來控制元素編組爲XML的順序。

@XmlRootElement 
@XmlType(propOrder={"idGear", "name", "year", "price"}) 
@Entity(name="gear") 
public class Gear{ 

    @Id 
    @GeneratedValue 
    int idGear; 
    private String name; 
    private int year; 
    private double price; 

} 

更多信息

+1

+1快速響應.... :) – NamingException

2

@XmlType註釋具有可使用的屬性propOrder。這裏是從文檔:

註釋元素propOrder()可用於定製內容模型爲xs:all或xs:sequence。它用於指定xs:sequence中XML元素的順序。

Javadoc for XmlType

2

它沒有相關的地方休息。它只能通過在@XmlType註釋中使用proporder來實現JAXB轉換。

@XmlType(propOrder={"idGear", "name", "year", "price"})