C#实例:DataSet转XML及修改XML文件操作

需积分: 10 8 下载量 43 浏览量 更新于2024-09-17 收藏 4KB TXT 举报
在C#编程中,操作XML文件是常见的需求,尤其是在Windows Form应用程序中,如数据持久化、配置文件管理等。本篇文章将介绍如何使用C#处理XML文件,包括读取、修改以及DataSet与XML之间的转换。 首先,我们来理解如何使用C#创建和修改XML文件。例如,这段代码展示了如何使用`XmlWriter`来动态创建XML文档。`XmlWriterSettings`类用于设置XML写入的选项,如缩进,使输出的XML更易阅读。通过`XmlWriter.Create()`方法,我们可以创建一个名为"parent"的根元素,并添加子元素如"first"、"sec"和"th",它们的值分别来自于一个DataSet对象的表中的行数据。 ```csharp DataSet ds = new DataSet(); string path = Application.StartupPath; XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; using (XmlWriter writer = XmlWriter.Create(path + "\\xxx.xml", settings)) { writer.WriteStartElement("parent"); writer.WriteElementString("first", ds.Tables[0].Rows[0]["first"].ToString().Trim()); writer.WriteElementString("sec", ds.Tables[0].Rows[0]["sec"].ToString().Trim()); writer.WriteElementString("th", ds.Tables[0].Rows[0]["th"].ToString().Trim()); writer.WriteEndElement(); writer.WriteEndDocument(); writer.Flush(); writer.Close(); MessageBox.Show("File created OK!"); } ``` 这段代码展示了将DataSet表格中的数据映射到XML文件的过程。`ds.Tables[0]`表示第一个表,`.Rows[0]`获取第一行,然后获取指定列的值并写入XML节点。 接下来,我们看另一种情况:读取XML文件并进行处理。这里有一个例子是使用`XmlDocument`类来读取用户选择的XML文件,然后进行进一步的操作。通过`SaveFileDialog`获取文件路径后,创建`XmlDocument`实例,并添加XML声明。然后创建`XmlElement`对象,如`xmlRoot`和`xmlChild`,用于构建XML文档结构。 ```csharp string Path = saveFileDialog.FileName; XmlDocument xmlDoc = new XmlDocument(); XmlDeclaration xmlDeclaration = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", "yes"); xmlDoc.AppendChild(xmlDeclaration); XmlElement xmlRoot = xmlDoc.CreateElement("ZZ"); XmlElement xe1 = xmlDoc.CreateElement("ZZ"); XmlElement xmlChild = xmlDoc.CreateElement("z1"); xmlChild.InnerText = "z1"; xmlRoot.AppendChild(xe1); xmlRoot.AppendChild(xmlChild); ``` 这个部分展示了如何通过`XmlDocument`的`CreateElement()`方法创建新的元素,并设置其属性和值。最后将这些元素添加到`xmlRoot`中,从而完成XML文档的构造。 这篇文章主要介绍了C#中操作XML文件的基本方法,包括使用`XmlWriter`创建XML文档和使用`XmlDocument`读取、修改XML。同时展示了DataSet与XML的互动,通过DataSet的表格数据填充XML节点。这对于开发者在实际项目中处理数据存储和交换非常有用。