我有XML文件,可以轻松加载到数据集中。
DataSet ds = new DataSet();
ds.ReadXml(e.FullPath);
但是,我确实喜欢使用类型化的数据集 有没有办法从XML或无类型数据集构建类型化数据集?
这里的目标是避免设计它,因为有很多列,它可以在打字时消除错误的变化。
答案 0 :(得分:2)
这很容易做到。这是一个循序渐进的指南 (当然必须安装Visual Studio)
<强> 1。从XML文件中,创建一个XSD文件。
这可以通过将XML文件加载到数据集中然后编写模式来实现。以下代码负责此步骤。
DataSet ds = new DataSet();
ds.ReadXml(e.FullPath);
ds.WriteXml(@"C:\test.xsd", XmlWriteMode.WriteSchema);
验证XSD文件是否正常并且不包含垃圾。
<强> 2。找到&#34; xsd.exe&#34;在你的电脑上。
就我而言,它在这里:
C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v8.0A \ bin \ NETFX 4.0工具
第3。将xsd文件复制/粘贴到步骤2中找到的文件夹中。
<强> 4。运行命令提示符并将目录更改为在步骤2中找到的文件夹。
打开命令提示符(Windows + R,键入&#34; cmd&#34;然后按Enter键)。然后导航到步骤2中找到的文件夹。 (&#34; cd enter-your-directory-here&#34;)
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。使用适当的名称重命名键入的数据集。
生成的类型化数据集是&#34; NewDataset&#34;。
将其重命名为更合适的名称。 (使用重构功能)