为多个版本的XSD维护单个生成的c#类

时间:2014-08-11 14:48:45

标签: c# xml xsd

我有两个版本的xsd文件。 两者都是相同模式的不同版本。

这两个文件之间存在细微差别。有些节点是相同的,有些则不同。

例如:复杂类型ABC在一个版本中具有qwe,rty属性 但在第二版中,ABC有qwe,mnp,zxc属性。

此外,还有其他复杂类型在两个版本中完全相同。

现在我不想使用xsd.exe工具为这两个模式(xsd文件)生成两个单独的类。

相反,是否有任何选项只能为两个版本的xsd文件维护一个c#类?

我有一个xsd到其他对象的字段映射。但由于我必须为两个版本的xsd生成两个单独的类,因此映射代码会重复。

所以任何线索或任何新的设计模式来修复此版本控制并避免重复的映射代码。请帮忙

1 个答案:

答案 0 :(得分:0)

您可以构建一个包含2个XSD文件的所有属性的类,并手动序列化/反序列化它。然后,您可以使用指定其版本的自定义属性标记每个属性。因此,您可以知道哪些属性是反序列化所必需的,哪些不是。