1

私は持っている

クラスA {
   @xstreamalias("obj1");
   オブジェクト obj1;
   @xstreamalias("obj2");
   オブジェクト obj2;
}

そして私はに変更したい
クラスAbstractA {
   @xstreamalias("obj1");
   オブジェクト obj1;
}

クラスAはAbstractAを拡張します{
   @xstreamalias("obj2");
   オブジェクト obj2;
}


obj1 の内容を失うことなく。

現在、obj1のコンテンツを失うことを除いて、古いxmlを読むのに問題はありません。これは何らかの形で xstream でサポートされていますか? つまり、モデルの変更では抽象化が一般的です。

4

1 に答える 1

1

XStream は、XML がまだ適合する限り、A がサブクラスであるかどうかを実際には気にしません。

私の提案: 新しいクラス A のシリアル化の結果を古いものと比較します (それらは同一である必要があります)。そうでない場合は、これが問題の原因です。

于 2010-02-23T23:49:12.767 に答える