![]() |
1
59
为每个元素创建一个类,每个元素有一个属性,每个子元素有一个对象列表或数组(使用创建的)。然后对字符串调用System.xml.Serialization.XmlSerializer.Deserialize,并将结果转换为对象。使用system.xml.serialization属性进行调整,例如将元素映射到todo list类,使用xmlement(“todo list”)属性。 应该做的是将XML加载到Visual Studio中,单击“Infer Schema”按钮并运行“xsd.exe/c schema.xsd”来生成类。xsd.exe在“工具”文件夹中。然后检查生成的代码并进行调整,例如在适当的情况下将short更改为ints。 |
![]() |
2
34
归根结底,使用vs中的工具xsd.exe:
然后用读卡器和反序列化器加载:
|
![]() |
3
15
反序列化任何对象,只要类型
|
![]() |
4
4
好吧,您的程序集中必须有与XML(名为private的属性、名为todo的集合属性等)大致匹配的类。 问题是 XML中的元素对类名无效 .因此,您必须在这些类中实现IXML可序列化,以控制如何将它们序列化到XML和从XML序列化。您也可以使用一些特定于XML序列化的属性,但这取决于您的XML模式。 这比使用反射要高出一步,但这可能不是你所希望的。 |
![]() |
5
4
结帐 http://xsd2code.codeplex.com/ XSD2code是XSD架构中的CSharp或VisualBasic业务实体类生成器。 |
![]() |
6
3
有几个不同的选择。
|
![]() |
7
3
你应该看看 http://www.canerten.com/xml-c-class-generator-for-c-using-xsd-for-deserialization/ 有一个(Microsoft)工具可以帮助创建所需的XSD,以便将XML正确反序列化到对象中。 |
![]() |
8
-1
几年前,我也遇到过同样的问题:ABT如何将XML映射到C类,或者创建映射到XML的C类,JST,就像我们在实体框架中所做的那样(我们将表映射到C类)。我最后创建了一个框架,它可以从XML中创建C类,这些类可以用来读/写XML。有一个 look |