使用XSD生成的类来反序列化C#中的XML?

使用XSD生成的类来反序列化C#中的XML?,c#,xml-deserialization,C#,Xml Deserialization,我使用.NET framework附带的xsd工具从XML文件创建了一个类。我把它包括在我的解决方案中。创建的类包含许多类,由于我不熟悉这个主题,我想知道应该使用哪个类 StreamReader str = new StreamReader(@"c:\t.xml"); XmlSerializer xSerializer = new XmlSerializer(typeof(SomeClassFromCreatedClass)); SomeClassFromCreatedClassexporis

我使用.NET framework附带的xsd工具从XML文件创建了一个类。我把它包括在我的解决方案中。创建的类包含许多类,由于我不熟悉这个主题,我想知道应该使用哪个类

StreamReader str = new StreamReader(@"c:\t.xml");
XmlSerializer xSerializer = new XmlSerializer(typeof(SomeClassFromCreatedClass));
SomeClassFromCreatedClassexporis = (SomeClassFromCreatedClass)xSerializer.Deserialize(str);
问题是,它在第三行的XML文档(2,2)中指出错误。所以一般来说,我应该使用哪一个创建的类?有什么问题吗


谢谢:-)

听起来Xml模式定义了许多不同的类型(或者是单独的元素,或者更可能是嵌套的复杂类型)。Xsd将为每个嵌套的复杂类型生成一个单独的类。。。因此,您需要确定哪种类型是层次结构的根。这将是您需要反序列化的类型:)


另一方面。。xsd.exe非常有限,最好使用如下内容:)

问题在于XML反序列化程序的错误报告


如果深入研究所有内部异常,您将发现真正的错误,这是非常痛苦的。

使用Xsd2Code并没有改变任何东西。。。我仍然得到错误。我如何知道哪个是层次结构的根?找到了解决方案,请看这里:您的问题是“我应该使用哪个创建的类?”。您链接到的解决方案与该问题无关。以后请详细回答您的问题。@grady这是一个只订阅的博客,在这里并不合适。