C#全攻略:XML操作实践(读写、修改、删除及Dataset应用)

4 下载量 141 浏览量 更新于2024-08-30 收藏 67KB PDF 举报
在C#编程中,XML(可扩展标记语言)是一种常用的数据存储和交换格式,特别是在Web服务和配置管理中。本文档提供了C#操作XML的详细指南,包括读取、写入、更新和删除节点,以及与DataSet的整合,对于开发者来说非常实用。 首先,我们来看如何向XML文件中插入新节点。例如,假设有一个名为`bookstore.xml`的文件,包含书籍信息,我们可以使用`XmlDocument`类来实现动态添加内容。下面是一段示例代码: ```csharp XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load("bookstore.xml"); XmlNode root = xmlDoc.SelectSingleNode("bookstore"); // 查找根节点 XmlElement xe1 = xmlDoc.CreateElement("book"); // 创建新的book元素 xe1.SetAttribute("genre", "李赞红"); // 设置genre属性 xe1.SetAttribute("ISBN", "2-3631-4"); // 设置ISBN属性 XmlElement xesub1 = xmlDoc.CreateElement("title"); xesub1.InnerText = "CS从入门到精通"; // 设置title文本节点 xe1.AppendChild(xesub1); // 添加到节点 XmlElement xesub2 = xmlDoc.CreateElement("author"); xesub2.InnerText = "候捷"; xe1.AppendChild(xesub2); XmlElement xesub3 = xmlDoc.CreateElement("price"); xesub3.InnerText = "58.3"; xe1.AppendChild(xesub3); // 添加price节点 root.AppendChild(xe1); // 将新节点添加到root节点下 xmlDoc.Save("bookstore.xml"); ``` 这段代码首先加载XML文件,然后通过XPath表达式找到`bookstore`节点。接着,创建一个新的`book`元素,并设置其属性和子元素。最后,将这个新节点添加到原有的XML结构中,并保存回原文件。 接下来是修改节点的部分。如果需要将某个节点的属性或文本内容进行更新,可以使用`SelectSingleNode`方法定位到目标节点,然后直接修改属性或子节点的值。这里没有提供具体的修改代码,但你可以根据需要使用类似以下的步骤: ```csharp XmlNodeList nodeList = xmlDoc.SelectNodes("//book[genre='李赞红']"); // 查找genre为"李赞红"的book节点 XmlNode targetNode = nodeList[0]; // 获取第一个匹配的节点 targetNode.Attributes["genre"].Value = "update李赞红"; // 修改genre属性 // 对子节点进行修改,例如 title 或 author targetNode.SelectSingleNode("title").InnerText = "亚胜"; xmlDoc.Save("bookstore.xml"); ``` 这部分代码首先筛选出所有genre属性为"李赞红"的`book`节点,然后修改第一个找到的节点的genre属性,并更新相应子节点的内容。 另外,C#中的DataSet是.NET框架中用于存储结构化数据的一种数据集,可以方便地与XML文件交互。如果你希望将数据从XML加载到DataSet,可以使用`XmlReader`或`XmlDataSource`类。将XML与DataSet结合,可以简化数据处理流程并提高应用程序的性能。 C#操作XML涉及到节点的增删改查,以及与DataSet的集成,这都是开发中常见的任务。熟练掌握这些技巧,能够帮助你更好地管理XML数据,提高代码的可维护性和灵活性。