在C#中,XML(可扩展标记语言)是一种常用的数据存储和交换格式,因为它具有结构化、自解释和易于解析的特性。本文将深入探讨如何使用C#进行XML的读写操作,通过示例代码来阐述相关知识。 我们来看读取XML的过程。在C#中,`System.Xml`命名空间提供了多个类来处理XML文档,如`XmlDocument`。以下是一个简单的XML读取示例: ```csharp using System; using System.IO; using System.Xml; public class Program { public static void Main() { XmlDocument xd = new XmlDocument(); string fileName = @"D:\test.xml"; xd.Load(fileName); // 获取所有名为"user"的元素 XmlNodeList xmlNoteList = xd.GetElementsByTagName("user"); // 将这些元素转换为User对象并存储到列表中 List<User> users = new List<User>(); foreach (XmlElement item in xmlNoteList) { User user = new User(); user.Id = int.Parse(item.GetAttribute("id")); // 获取子节点的值 user.Name = item.SelectSingleNode("name").InnerText; user.Age = int.Parse(item.SelectSingleNode("age").InnerText); user.Gender = item.SelectSingleNode("gender").InnerText; users.Add(user); } // 输出用户信息 foreach (var item in users) { Console.WriteLine(item); } } } // User类定义 public class User { public int Id { get; set; } public string Name { get; set; } public int Age { get; set; } public string Gender { get; set; } public override string ToString() { return $"Id: {Id}, Name: {Name}, Age: {Age}, Gender: {Gender}"; } } ``` 在这个例子中,我们创建了一个`XmlDocument`实例,并使用`Load`方法加载XML文件。然后,通过`GetElementsByTagName`获取所有`<user>`元素,并遍历它们以提取属性和子节点的值。我们将这些信息转换为`User`对象并输出。 接下来,我们来看XML的写入操作。以下是如何使用C#创建并写入XML文件的代码: ```csharp public static void WriteXML(List<User> userList, string fileName) { XmlDocument xmlDoc = new XmlDocument(); // 添加XML声明 XmlNode header = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", null); xmlDoc.AppendChild(header); // 创建根节点 XmlElement rootNode = xmlDoc.CreateElement("users"); // 遍历用户列表,为每个用户创建一个<user>元素并添加到根节点 foreach (var user in userList) { XmlElement userElement = xmlDoc.CreateElement("user"); userElement.SetAttribute("id", user.Id.ToString()); userElement.AppendChild(xmlDoc.CreateElement("name")).InnerText = user.Name; userElement.AppendChild(xmlDoc.CreateElement("age")).InnerText = user.Age.ToString(); userElement.AppendChild(xmlDoc.CreateElement("gender")).InnerText = user.Gender; rootNode.AppendChild(userElement); } // 将根节点添加到XML文档,并保存到文件 xmlDoc.AppendChild(rootNode); xmlDoc.Save(fileName); } ``` 这里,我们创建了一个`XmlDocument`实例,并通过`CreateXmlDeclaration`创建XML声明。接着,我们创建了`<users>`作为根节点,然后遍历用户列表,为每个用户创建一个`<user>`元素,并将其添加到根节点。我们使用`Save`方法将XML文档保存到指定文件。 总结一下,C#中读写XML的基本步骤如下: 1. 使用`XmlDocument`类加载或创建XML文档。 2. 使用`Load`方法加载XML文件。 3. 使用`GetElementsByTagName`、`SelectSingleNode`等方法获取XML元素。 4. 通过`XmlElement`的属性和方法设置或获取元素的属性和值。 5. 使用`CreateXmlDeclaration`、`CreateElement`等方法创建XML结构。 6. 使用`AppendChild`方法添加元素到XML树。 7. 使用`Save`方法保存XML文档到文件。 理解这些基本操作后,你就可以灵活地处理XML数据,实现数据的读取和写入。在实际项目中,还可以考虑使用更高级的XML处理库,如LINQ to XML(`System.Xml.Linq.XDocument`),它提供了一种更简洁的API来处理XML。























- 粉丝: 5
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 2023年catics一至九届三DCAD竞赛试题.doc
- 什么是互联网营销怎么理解PPT课件.pptx
- 建设网络平台和学生干部技能培训的专项方案.doc
- 网站会员服务协议.docx
- 免费保存网络文档-免费保存豆丁文档的保存方法------.pdf
- 数学建模十大经典算法.doc
- 关于电气自动化实习报告大全.doc
- 电子计算机与多媒体课堂演示.pptx
- 自考计算机网络安全复习资料.doc
- 夜猫商务会所运营管理平台数据库结构说明书要点.doc
- 基于单片机的数字温度计课程设计(硬件).doc
- 嵌入式培训考题.doc
- 技术标系统集成监理方案.doc
- 网络营销及技术.pptx
- 开题报告基于视觉和机器人操作系统的无人系统自主定位技术.pdf
- 软件工程打印大题作业.docx


