我有XML文件,我可以轻松加载到数据集中。
DataSet ds = new DataSet();
ds.ReadXml(e.FullPath);
但是,我确实喜欢使用类型化数据集。 有没有办法从XML或无类型数据集构建类型化数据集?
这里的目标是避免设计它,因为有很多列,它可以消除打字时出错的变化。
这很容易做到。这是一步一步的指南。 (当然必须安装Visual Studio)
1.从XML文件中,创建XSD文件。
这可以通过将XML文件加载到数据集中然后编写模式来实现。以下代码负责此步骤。
DataSet ds = new DataSet();
ds.ReadXml(e.FullPath);
ds.WriteXml(@"C:\test.xsd", XmlWriteMode.WriteSchema);
验证XSD文件是否正常并且不包含垃圾。
2.找到计算机上“xsd.exe”的位置。 就我而言,它在这里: C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v8.0A \ bin \ NETFX 4.0工具
3.将xsd文件复制/粘贴到步骤2中找到的文件夹中。
4.运行命令提示符并将目录更改为在步骤2中找到的文件夹。
打开命令提示符(Windows + R,键入“cmd”并按Enter键)。然后导航到步骤2中找到的文件夹。 (“cd enter-your-directory-here”)
cd C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools
快速提示,您可以使用鼠标右键单击将目录复制/粘贴到提示中。
5.在命令提示符下,使用所需参数启动xsd.exe。 在命令提示符下键入或粘贴以下命令,然后按Enter键。
xsd.exe /d /l:cs test.xsd /eld /n:MyDesiredNameSpace
如果需要,您可以在msdn documentation.中找到有关参数的详细信息
鉴于您的xsd文件有效,它会将cs文件输出到该文件夹中。这是控制台输出。
6.将生成的文件包含在项目中。 将生成的.cs文件复制并粘贴到解决方案文件夹中,并将其包含在项目中。使用(右键单击包括现有项目)
7.使用适当的名称重命名键入的数据集。 生成的类型化数据集是“NewDataset”。 将其重命名为更合适的名称。 (使用重构功能)