注释
此类 DataSet 和相关类是 2000 年代初的旧版 .NET Framework 技术,使应用程序能够在应用与数据库断开连接时处理内存中的数据。 这些技术对于使用户能够修改数据并将更改保留回数据库的应用特别有用。 尽管数据集是经过证实的成功技术,但新 .NET 应用程序的建议方法是使用 Entity Framework Core。 Entity Framework 提供了一种更自然的方式来将表格数据用作对象模型,并且具有更简单的编程接口。
ADO.NET 提供了用于处理 XML 数据的简单方法。 在本演练中,你将创建一个将 XML 数据加载到数据集中的 Windows 应用程序。 数据集然后会被显示在DataGridView控件中。 最后,基于 XML 文件内容的 XML 架构显示在文本框中。
先决条件
若要完成本教程,需要安装包含以下工作负载的 Visual Studio:
- .NET 桌面开发
- 数据存储和处理
若要安装它们,请打开 Visual Studio 安装程序,然后选择要修改的 Visual Studio 版本旁边的 修改(或 更多>修改)。 请参阅修改 Visual Studio。
创建新项目
为 C# 或 Visual Basic 创建新的 Windows 窗体应用 项目。 将项目命名为 ReadingXML。
生成要读取到数据集中的 XML 文件
由于本演练侧重于将 XML 数据读取到数据集中,因此提供了 XML 文件的内容。
在 “项目 ”菜单上,选择“ 添加新项”。
选择 “XML 文件”,将文件命名 为authors.xml,然后选择“ 添加”。
XML 文件加载到设计器中,并已准备好进行编辑。
将以下 XML 数据粘贴到 XML 声明下面的编辑器中:
<Authors_Table> <authors> <au_id>172-32-1176</au_id> <au_lname>White</au_lname> <au_fname>Johnson</au_fname> <phone>408 496-7223</phone> <address>10932 Bigge Rd.</address> <city>Menlo Park</city> <state>CA</state> <zip>94025</zip> <contract>true</contract> </authors> <authors> <au_id>213-46-8915</au_id> <au_lname>Green</au_lname> <au_fname>Margie</au_fname> <phone>415 986-7020</phone> <address>309 63rd St. #411</address> <city>Oakland</city> <state>CA</state> <zip>94618</zip> <contract>true</contract> </authors> <authors> <au_id>238-95-7766</au_id> <au_lname>Carson</au_lname> <au_fname>Cheryl</au_fname> <phone>415 548-7723</phone> <address>589 Darwin Ln.</address> <city>Berkeley</city> <state>CA</state> <zip>94705</zip> <contract>true</contract> </authors> <authors> <au_id>267-41-2394</au_id> <au_lname>Hunter</au_lname> <au_fname>Anne</au_fname> <phone>408 286-2428</phone> <address>22 Cleveland Av. #14</address> <city>San Jose</city> <state>CA</state> <zip>95128</zip> <contract>true</contract> </authors> <authors> <au_id>274-80-9391</au_id> <au_lname>Straight</au_lname> <au_fname>Dean</au_fname> <phone>415 834-2919</phone> <address>5420 College Av.</address> <city>Oakland</city> <state>CA</state> <zip>94609</zip> <contract>true</contract> </authors> </Authors_Table>在“ 文件 ”菜单上,选择“ 保存 authors.xml。
创建用户界面
此应用程序的用户界面包括以下各项:
将 DataGridView XML 文件的内容显示为数据的控件。
用于显示 TextBox XML 文件的 XML 架构的控件。
两个 Button 控件。
一个按钮将 XML 文件读入数据集,并将其显示在控件中 DataGridView 。
第二个按钮从数据集中提取架构,并通过 StringWriter 将其显示在 TextBox 控件中。
向窗体添加控件
在设计视图中打开
Form1。在 工具箱中,将以下控件拖动到窗体上:
一个 DataGridView 控件
一个 TextBox 控件
两个 Button 控件
设置以下属性:
控制 资产 设置 TextBox1多行 trueScrollBars 垂直 Button1名称 ReadXmlButton文字 Read XMLButton2名称 ShowSchemaButton文字 Show Schema
创建接收 XML 数据的数据集
在此步骤中,您将创建一个名为authors的新数据集。 有关数据集的详细信息,请参阅 Visual Studio 中的数据集工具。
在解决方案资源管理器中,选择 Form1 的源文件,然后选择解决方案资源管理器工具栏上的“视图设计器”按钮。
在 “工具箱”中,“数据”选项卡将 数据集 拖到 Form1 上。
在“ 添加数据集 ”对话框中,选择 “非类型化数据集”,然后选择“ 确定”。
DataSet1 将添加到组件托盘。
在“属性”窗口中,为
AuthorsDataSet设置名称和DataSetName属性。
创建事件处理程序以将 XML 文件读取到数据集中
“ 读取 XML ”按钮将 XML 文件读取到数据集中。 然后,它设置绑定到数据集的 DataGridView 控件的属性。
在解决方案资源管理器中,选择 Form1,然后选择解决方案资源管理器工具栏上的“视图设计器”按钮。
双击 “读取 XML ”按钮。
代码编辑器在事件处理程序
ReadXmlButton_Click时打开。在事件处理程序中
ReadXmlButton_Click键入以下代码:在
ReadXMLButton_Click事件处理程序代码中,将filepath =项目更改为正确的路径。
创建事件处理程序以在文本框中显示架构
“ 显示架构 ”按钮创建一个填充了架构的 StringWriter 对象,并在 TextBox 控件中显示。
在 解决方案资源管理器中,选择 Form1,然后选择 “视图设计器 ”按钮。
双击“ 显示架构 ”按钮。
代码编辑器在事件处理程序
ShowSchemaButton_Click时打开。将以下代码粘贴到事件处理程序中
ShowSchemaButton_Click。
测试表单
现在,你可以测试表单,以确保其行为符合预期。
选择 F5 以运行应用程序。
选择 “读取 XML ”按钮。
DataGridView 显示 XML 文件的内容。
选择“ 显示架构 ”按钮。
文本框显示 XML 文件的 XML 架构。
后续步骤
本演练介绍了将 XML 文件读取到数据集的基础知识,以及基于 XML 文件的内容创建架构。 下面是一些下一步可能执行的任务:
编辑数据集中的数据,并将其写回为 XML。 有关详细信息,请参阅 WriteXml。
编辑数据集中的数据并将其写出到数据库中。