2016-04-22 57 views
1

我有12个相当复杂的模式,我想要反序列化。它们形成一种层次结构,在其他每个定义中都使用它们。所以我使用架构下的XML架构定义工具这样,与依赖关系到反序列化:XSD反序列化会产生部分类的混乱

xsd.exe /c schema.xsd importedSchema1.xsd importedSchema2.xsd  importedSchema3.xsd importedSchema4.xsd 

,结果是一样的东西:

schema.cs 
schema_importedSchema1.cs 
schema_importedSchema1_importedSchema2.cs 
schema_importedSchema1_importedSchema2_importedSchema3.cs 
schema_importedSchema1_importedSchema2_importedSchema3_importedSchema4.cs 

而且他们全部分类的。有一种方法可以避免这种情况? 我是C#的新手,这是我第一次玩串行化,所以我想也许我错过了一些东西。我发现的所有例子都太简单了,我找不到像这样的复杂情况。所以我不知道这里究竟发生了什么,如果有更好的方法来实现它,或者我应该如何使用这些类,如果它们像这样分裂的话。一些建议?

+0

要么自己生成Serialize类,要么手动编辑生成的部分类组合的类。 – jdweng

+0

手动序列化不是一个选项,它是一个巨大的层次结构。我可以考虑你的第二个选择。但这也是手动工作的日子,模式可能会随着时间的推移而改变,所以自动完成这个过程会很好。我的每个模式都定义了一个包含许多类的包。但是我最终得到了一个公共的部分类ClassA {在20个不同的文件中声明。在这些文件的每一个文件中都有不同包的类。如果编译器能够在这样的混乱中找到东西,我不会更改逗号,但是某些声明在不同的文件中是相同的。 – Heteroclito

+0

编写一个工具来删除重复项。 – jdweng

回答