使用XStream映射继承

时间:2016-01-27 14:17:10

标签: java xml xstream

当使用继承编组类时,只保留子类的大多数类数据。

例如,使用代码:

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输出父类数据?

1 个答案:

答案 0 :(得分:1)

您只需切换到较新的XStream版本即可。我使用1.2.2运行您的代码并获得此结果:

<employee>
  <job>Developer</job>
  <name>Sam</name>
</employee>