【发布时间】:2011-09-21 12:29:49
【问题描述】:
我刚刚开始使用 JAXB 从 java 对象生成 XML 输出。我的 java 类中存在多态性,这似乎在 JAXB 中不起作用。
以下是我尝试处理它的方式,但在输出中我没有预料到字段: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
}
在我开始发明一些复杂的继承之前,有什么好的方法可以做到这一点吗?
【问题讨论】:
标签: java xml jaxb polymorphism