我剛剛開始使用JAXB從Java對象中創建XML輸出。在我的java類中存在一個多態性,這似乎不適用於JAXB。jaxb - 如何從多態類創建XML
下面是我試圖處理它的方式,但在輸出中我沒有預料到field:fieldA或fieldB。
@XmlRootElement(name = "root")
public class Root {
@XmlElement(name = "fieldInRoot")
private String fieldInRoot;
@XmlElement(name = "child")
private BodyResponse child;
// + getters and setters
}
public abstract class BodyResponse {
}
@XmlRootElement(name = "ResponseA")
public class ResponseA extends BodyResponse {
@XmlElement(name = "fieldA")
String fieldB;
// + getters and setters
}
@XmlRootElement(name = "ResponseB")
public class ResponseB extends BodyResponse {
@XmlElement(name = "fieldB")
String fieldB;
// + getters and setters
}
在我開始發明一些複雜的繼承之前,有沒有什麼好的方法來做到這一點?
是的,這是完美的作品。感謝這篇文章和參考你的博客。 – smas