【发布时间】:2010-06-29 23:41:18
【问题描述】:
我正在使用 DataContractSerializer 将具有 DataContract 和 DataMember 属性的类序列化为 XML 文件。我的课程可能会在以后发生变化,因此序列化文件的格式也可能会发生变化。我想用版本号标记我保存的文件,这样我至少知道每个文件来自哪个版本。我仍在决定如何以及是否要添加将旧格式的文件迁移到更高格式的功能。但现在我很乐意只识别版本不匹配。
XML 文件的命名空间是否是存储文件版本的正确位置?我正在考虑使用 DataContract 属性将我的类归因于如下。
[DataContract(Name="MyClass",Namespace="http://www.mycompany.com/MyProject/1.0
public class MyClass
...
然后,如果 MyClass 发生变化,我会更改命名空间...
[DataContract(Name="MyClass",Namespace="http://www.mycompany.com/MyProject/2.0)]
public class MyClass
...
这是 XML 命名空间的正确用法,还是有另一种更受欢迎的方式来保存 XML 文件的版本?
【问题讨论】:
标签: c# .net xml namespaces datacontractserializer