Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想知道在更改类、命名空间后有什么方法可以处理反序列化吗?
目前,我必须对 XML 的文本值进行编辑替换,用新命名空间替换旧命名空间。
有一个更好的方法吗?
总是一个棘手的问题。除非您可以保证类不会更改,否则最好找到另一种序列化方法。
但是,要回答这个问题,您可以拥有Version该类的属性(或者如果您有很多,则将其放入基类中)。每当您更改课程时,您都需要记住增加它。
Version
然后,您可以进行一系列“迁移”,这将知道如何将 XML 从一个版本转换为下一个版本。当您想要反序列化时,首先将文件加载为 XML,依次应用迁移(因为自文件创建以来可能已经发生了几次更改),然后反序列化现在转换的 XML。