C#制作如何读写XML文件.rar
XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,它具有结构化、自解释性和可扩展性,使得数据在不同系统间交换变得简单。在C#编程中,XML文件的读写是常见的操作,尤其在配置文件、数据持久化或网络通信等方面。本教程将详细介绍如何使用C#进行XML文件的读写。 一、XML文件的基本结构 XML文件由一系列的元素构成,每个元素都有开始标签和结束标签,如 `<element>` 和 `</element>`。元素可以包含文本内容、属性,还可以嵌套其他元素。例如: ```xml <root> <person id="1"> <name>张三</name> <age>30</age> </person> <person id="2"> <name>李四</name> <age>25</age> </person> </root> ``` 二、读取XML文件 在C#中,我们可以使用`System.Xml`命名空间下的类来读取XML文件。最常用的是`XmlDocument`和`XDocument`。 1. 使用`XmlDocument` ```csharp using System.Xml; // 加载XML文件 XmlDocument doc = new XmlDocument(); doc.Load("example.xml"); // 查询节点 XmlNodeList nodes = doc.GetElementsByTagName("person"); foreach (XmlNode node in nodes) { string name = node.SelectSingleNode("name").InnerText; int age = int.Parse(node.SelectSingleNode("age").InnerText); Console.WriteLine($"姓名:{name},年龄:{age}"); } ``` 2. 使用`XDocument` ```csharp using System.Xml.Linq; // 加载XML文件 XDocument doc = XDocument.Load("example.xml"); // 查询节点 var persons = from person in doc.Descendants("person") select new { Name = (string)person.Element("name"), Age = (int)person.Element("age") }; foreach (var person in persons) { Console.WriteLine($"姓名:{person.Name},年龄:{person.Age}"); } ``` 三、写入XML文件 1. 使用`XmlDocument` ```csharp using System.Xml; // 创建XML文档 XmlDocument doc = new XmlDocument(); XmlElement root = doc.CreateElement("people"); doc.AppendChild(root); // 添加元素 XmlElement person1 = doc.CreateElement("person"); person1.SetAttribute("id", "1"); person1.AppendChild(doc.CreateElement("name")).InnerText = "王五"; person1.AppendChild(doc.CreateElement("age")).InnerText = "40"; root.AppendChild(person1); // 保存到文件 doc.Save("output.xml"); ``` 2. 使用`XDocument` ```csharp using System.Xml.Linq; // 创建XML文档 XDocument doc = new XDocument( new XElement("people", new XElement("person", new XAttribute("id", "1"), new XElement("name", "王五"), new XElement("age", "40"))); // 保存到文件 doc.Save("output.xml"); ``` 四、更高级的XML操作 C#中还提供了`XmlNodeReader`、`XmlWriter`、`XPathNavigator`等类,用于更复杂和高效的XML处理。例如,`XPathNavigator`可以用来执行XPath查询,而`XmlWriter`则允许流式写入XML。 C#提供了丰富的API来处理XML文件,无论是简单的读取还是复杂的操作,都能轻松应对。理解XML的基本结构和C#中的XML处理类,将有助于你在项目中灵活地存储和交换数据。在实际开发中,根据需求选择合适的API,可以提高代码的效率和可维护性。
- 1
- 宇多田鼠2016-08-22测试通过,谢谢分享,自己测试没问题
- a4788974522017-07-04谢谢分享,谢谢
- 粉丝: 18
- 资源: 11
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助