从XSD架构创建XmlSerializer

时间:2011-01-04 19:10:46

标签: .net xml xsd xml-serialization

我总是从我需要序列化的类型开始创建XmlSerializer实例。像

这样的东西
new XmlSerializer(typeof(MyType))

我有一个漂亮的系统,允许插入要与基类一起序列化的应用程序类型(使用XmlSerializer)。 XmlSerializer实例映射到基类型,但我可以添加应用程序使用的其他类型,以序列化静态未知的类型。

遗憾的是,此系统要求应用程序指定序列化程序中必须包含哪些其他类型。

所以,我想定义一个XSD架构,它定义了如何真正序列化类型(一种XML序列化器配置),然后创建一个XmlSerializer,它能够序列化/反序列化我的XSD架构中定义的类型。

有可能吗?

是否可以从XSD架构开始创建程序集(使用sgen.exe)?

1 个答案:

答案 0 :(得分:1)

您可以使用XSD.EXE以使generate your C# classes与您给定的架构匹配,然后对其进行序列化。获得类后,可以使用CodeDomProvider生成程序集。