我得到了另一种方法,如下所述:
第 1 步:将您的数据集转换为 XML 文档:
var xmlSW = new System.IO.StreamWriter(@"c:\xml\Krishna.xml");
myDataset.WriteXml(xmlSW, System.Data.XmlWriteMode.WriteSchema);
xmlSW.Close();
第 2 步:将您的 XML 文档转换为 XSD 文档。
-> Open Visual Studio Command Promt.
-> Type : xsd c:\xml\Krishna.xml (that is the path of the xml file.
例如:
C:\Windows\system32>xsd c:\xml\krishna.xml
Microsoft (R) Xml Schemas/DataTypes 支持实用程序
[Microsoft (R) .NET Framework,版本 4.0.30319.1]
版权所有 (C) 微软公司。版权所有。
写入文件'C:\Windows\system32\krishna.xsd'。
第 3 步:将 xsd 转换为 C# 类。
-> Open Visual Studio Command Promt.
-> Type : xsd krishna.xsd /classes
例如:
C:\Windows\system32>xsd krishna.xsd /classes
Microsoft (R) Xml Schemas/DataTypes 支持实用程序
[Microsoft (R) .NET Framework,版本 4.0.30319.1]
版权所有 (C) 微软公司。版权所有。
写入文件 'C:\Windows\system32\krishna.cs'。
注意:生成的属性名称可以通过 Resharper 或类似工具正确重命名(如果不正确)。
输出类文件可能包含一些您需要清理的不必要信息。
因此,如果您的数据集正在返回包含数百列的大型表,并且您不想手动复制粘贴所有这些表以创建自己的映射类,则此方法适用。
一旦获得结构(类),就可以使用 XmlSerializer 将其转换为对象,反之亦然。