C#操作XML文件:插入与读取

需积分: 9 8 下载量 5 浏览量 更新于2024-09-12 收藏 42KB DOCX 举报
"C#操作XML文件的技巧与方法总结" 在C#编程中,XML文件是一种常见的数据存储和交换格式,因为它的结构清晰且易于解析。以下是对C#读写XML文件的一些基本操作的总结: 1. 读取XML文件 当需要从XML文件中获取数据时,可以使用`XmlDocument`类来加载XML文件。例如,在给定的示例中,首先创建一个`XmlDocument`对象,然后调用`Load`方法来加载名为"bookstore.xml"的文件: ```csharp XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load("bookstore.xml"); ``` 加载完成后,可以使用XPath或LINQ to XML等方法来查询和访问XML文档中的元素。 2. 查询XML节点 XPath是用于在XML文档中查找信息的语言。在示例中,使用`SelectSingleNode`方法查找`<bookstore>`节点: ```csharp XmlNode root = xmlDoc.SelectSingleNode("bookstore"); ``` 如果需要查询更复杂的路径,可以使用XPath表达式,如`//book[ISBN='2-3631-4']`来找到特定的`<book>`节点。 3. 创建XML元素 当需要向XML文档添加新元素时,可以使用`CreateElement`方法创建新的XML元素。例如,创建一个新的`<book>`节点: ```csharp XmlElement xe1 = xmlDoc.CreateElement("book"); ``` 并设置其属性,如`genre`和`ISBN`: ```csharp xe1.SetAttribute("genre", "李赞红"); xe1.SetAttribute("ISBN", "2-3631-4"); ``` 4. 添加子元素和文本内容 创建并设置子元素,如`<title>`、`<author>`和`<price>`,并将它们添加到`<book>`节点中: ```csharp XmlElement xesub1 = xmlDoc.CreateElement("title"); xesub1.InnerText = "CS从入门到精通"; 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); ``` 这将为新创建的`<book>`节点添加子元素,并设置它们的文本内容。 5. 保存修改后的XML文件 最后,使用`Save`方法将修改后的XML文档保存回文件: ```csharp root.AppendChild(xe1); // 添加到<bookstore>节点中 xmlDoc.Save("bookstore.xml"); ``` 这将在原始的"bookstore.xml"文件中添加新的`<book>`节点。 除了`XmlDocument`类,C#还提供了其他处理XML的类,如`XDocument`(LINQ to XML)和`XmlNodeReader`,它们提供了不同的特性和性能优化。在实际开发中,根据具体需求选择合适的方法进行XML操作。 通过这些基本操作,你可以实现对XML文件的读取、查询、修改和保存,从而满足各种数据处理的需求。了解和熟练掌握这些技巧对于进行C#编程和处理XML数据至关重要。