Xstream toXml没有序列化基类

时间:2017-10-25 15:59:16

标签: java serialization deserialization xstream

我有一个具有以下结构的类,我试图使用Xstream序列化

public class Child extends Parent implements Serializable {
   private String prop1;
   private String prop2;
   // some getter setters
}

Class parent 看起来像这样

 public class Parent implements Serializable {
   private String prop3;
   private String prop4;
   // some getter setters
}

我正在尝试像这样序列化 Child 类。

    Child child = new Child();
    child.setProp1("test desc");
    child.setProp2("test name");
    child.setProp3("xyz");
    child.setProp4(true);

    XStream xstream = new XStream();
    String xmlData = xstream.toXML(virtualTerminalProfile);

但不知何故,形成的xml如下所示

<com.company.Child>
  < prop1>test name</prop1>
  <prop2>test desc</prop2>
</com.company.Child>

我没有在xml中看到prop3prop4

我不确定我错过了什么?

我正在使用 xstream 1.4.4

2 个答案:

答案 0 :(得分:1)

我刚遇到这个问题。 这是OrderRetainingMap中的错误。它已在1.4.7版本中修复。

答案 1 :(得分:0)

升级到xstream版本1.4.10后得到解决。 可能是1.4.4中的一个错误。我确实检查了发行说明,但找不到与此相关的任何内容。