更改名称空间后处理对象反序列化

时间:2013-04-09 16:25:12

标签: c# xml-serialization

我想知道在更改类名称空间后有没有办法处理反序列化?

目前我不得不用XML替换旧命名空间的文本值进行编辑替换。

有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

总是一个棘手的问题。除非你能保证课程不会改变,否则最好找到另一种序列化方法。

但是,要回答这个问题,您可以拥有该类的Version属性(如果您有很多,则可以将其放在基类中)。每当你改变课程时,你都需要记住增加它。

然后你可以进行一系列“迁移”,它们将知道如何将XML从一个版本转换为另一个版本。如果要反序列化,首先将文件作为XML加载,依次应用迁移(因为自创建文件以来可能有多处更改),然后反序列化现在转换的XML。