我刚刚开始使用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