C# XML操作:增删查改实战示例

4星 · 超过85%的资源 需积分: 9 87 下载量 160 浏览量 更新于2024-10-07 收藏 68KB DOC 举报
"C# XML 增删查改实例" 在C#编程中,XML(eXtensible Markup Language)是一种常用的数据存储和交换格式,具有良好的结构化和易于处理的特点。本实例主要讲解如何使用C#进行XML文档的增、删、查、改操作。以下将详细阐述这些操作的具体实现。 首先,为了处理XML,我们需要引入`System.Xml`命名空间。在提供的代码中,可以看到一系列的`using`语句,确保了我们能访问到如`XmlDocument`和`XmlNode`等处理XML的关键类。 1. 插入节点: 在`button1_Click`事件处理函数中,我们看到了插入XML节点的过程。首先,通过`Load`方法加载本地的XML文件到`XmlDocument`对象`xmlDoc`中。接着,使用`SelectSingleNode`方法找到`bookstore`节点。然后,创建一个新的`book`元素节点`xe1`,并设置其属性`genre`和`ISBN`。再创建子节点`title`,设置其文本内容为“CS从入门到精通”,并将其添加到`book`节点下。最后,将`book`节点添加到`bookstore`节点的子节点列表末尾,完成插入操作。 ```csharp // 创建新的book节点 XmlElement xe1 = xmlDoc.CreateElement("book"); xe1.SetAttribute("genre", "李赞红"); xe1.SetAttribute("ISBN", "2-3631-4"); // 创建title子节点 XmlElement xesub1 = xmlDoc.CreateElement("title"); xesub1.InnerText = "CS从入门到精通"; // 将title子节点添加到book节点 xe1.AppendChild(xesub1); // 将book节点添加到bookstore节点 root.AppendChild(xe1); ``` 2. 删除节点: 删除XML节点通常涉及找到要删除的节点,然后调用`RemoveChild`方法。例如,如果要删除刚才插入的`book`节点,可以这样操作: ```csharp XmlNode nodeToRemove = xmlDoc.SelectSingleNode("//book[genre='李赞红']"); if (nodeToRemove != null) { nodeToRemove.ParentNode.RemoveChild(nodeToRemove); } ``` 3. 查询节点: 查询XML节点可以使用XPath表达式。XPath是一种语言,用于在XML文档中找到信息。例如,以下代码查询所有`title`节点: ```csharp XmlNodeList titles = xmlDoc.SelectNodes("//title"); foreach (XmlNode title in titles) { Console.WriteLine(title.InnerText); } ``` 4. 修改节点: 要修改XML节点,首先找到该节点,然后更改其属性或文本内容。以下代码将`genre`属性的值更改为“李赞红2”: ```csharp XmlNode bookNode = xmlDoc.SelectSingleNode("//book[genre='李赞红']"); if (bookNode != null) { bookNode.Attributes["genre"].Value = "李赞红2"; } ``` 总结来说,C#中的XML处理涉及到`XmlDocument`类以及相关节点类,它们提供了丰富的API来操作XML文档。通过创建、查找、修改和删除节点,可以方便地管理XML数据。在实际项目中,理解并熟练运用这些操作对处理XML数据至关重要。