当通过继承编码(marshal)类时,仅保留子类的大部分数据。
例如,使用代码:
public class Test {
static class Person {
String name;
}
static class Employee extends Person {
String job;
}
public static void main(String[] args) {
Employee me = new Employee();
me.name = "Sam";
me.job = "Developer";
XStream xStream = new XStream();
xStream.alias("employee", Employee.class);
String xml = xStream.toXML(me);
System.out.println(xml);
}
}
我的输出如下:
<employee>
<job>Developer</job>
</employee>
如何让XStream输出父类数据?
最佳答案
您只需切换到较新的 XStream 版本即可。我使用 1.2.2
运行您的代码并得到以下结果:
<employee>
<job>Developer</job>
<name>Sam</name>
</employee>
关于java - 使用 XStream 映射继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35039792/