2016-04-04 31 views
1

時給予例外,我也有類似的這種JAXB試圖馬歇爾與給定的順序

@XmlRootElement(name = "root") 
@XmlType(propOrder={"param1", "param2""}) 
public class Demo{ 
public Demo() { 
} 
private int param1; 
private String param2; 
private String param3; 



public int getparam1() { 
    return param1; 
} 

@XmlElement 
public void setparam1(int param1) { 
    this.param1= param1; 
} 

//other setters and getters here except for param3 
} 

一個代碼,但它給了我

 n4 counts of IllegalAnnotationExceptions 

異常,當我嘗試運行程序(我有原始代碼共6個參數,馬歇爾只有4個參數)

這是什麼原因?

回答

1

有一個在@XmlType anntation錯誤:

@XmlType(propOrder={"param1", "param2","param3"}) 

如果不解決這個問題,嘗試在propOrder檢查屬性的名稱,或直接使用字段訪問類型:

@XmlRootElement(name = "root") 
@XmlAccessorType(XmlAccessType.FIELD) 
@XmlType(propOrder={"param1", "param2", "param3"}) 
public class Demo{ 

public Demo() { 
} 

private int param1; 
private String param2; 
private String param3; 

//getter & setters without annotations 

} 
+0

是的,但我只想在我的程序中使用XML.so中的2個參數給@XmlAccessorType(XmlAccessType.FIELD)將使所有這些都出現在xml權利? –

+0

@XmlAccessorType(XmlAccessType.NONE),然後@XmlElement只在你想要輸出的字段上。 –

+0

好吧,將嘗試 –