C#实现XML文件基础操作:创建、遍历与节点操作

需积分: 9 8 下载量 171 浏览量 更新于2024-09-16 1 收藏 57KB DOC 举报
本文主要介绍了如何使用C#进行XML文件的基本操作,包括创建、读取、修改和删除XML节点。XML(可扩展标记语言)作为一种重要的数据交换格式,具有良好的结构性和灵活性,使得它在数据存储、交换和传输中非常实用。 首先,我们来探讨如何创建XML文件。为了生成上述示例中的XML文件,我们可以使用C#的`System.Xml`命名空间中的`XmlWriter`类。以下是一个简单的示例: ```csharp using System; using System.Xml; public void CreateXMLFile() { XmlDocument xmlDoc = new XmlDocument(); XmlDeclaration declaration = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", null); xmlDoc.AppendChild(declaration); XmlElement rootElement = xmlDoc.CreateElement("Computers"); xmlDoc.AppendChild(rootElement); // 添加计算机信息 XmlElement computer = xmlDoc.CreateElement("Computer"); computer.SetAttribute("ComputerID", "11111111"); computer.SetAttribute("Description", "MadeinChina"); xmlDoc.DocumentElement.AppendChild(computer); XmlElement nameNode = xmlDoc.CreateElement("name"); nameNode.InnerText = "Lenovo"; computer.AppendChild(nameNode); XmlElement priceNode = xmlDoc.CreateElement("price"); priceNode.InnerText = "5000"; computer.AppendChild(priceNode); // 添加第二个计算机元素 computer = xmlDoc.CreateElement("Computer"); computer.SetAttribute("ComputerID", "2222222"); computer.SetAttribute("Description", "MadeinUSA"); xmlDoc.DocumentElement.AppendChild(computer); // ...(其余属性设置类似) xmlDoc.Save("Computers.xml"); // 保存到文件 } ``` 接下来,我们通过`XmlDocument`或`XDocument`类来遍历并操作XML文件。例如,读取节点信息可以使用`SelectNodes`或`SelectSingleNode`方法: ```csharp XmlDocument doc = new XmlDocument(); doc.Load("Computers.xml"); // 遍历所有Computer节点 foreach (XmlNode node in doc.SelectNodes("//Computer")) { string id = node.Attributes["ComputerID"].Value; string description = node.Attributes["Description"].Value; // ...(处理节点内的name和price等信息) } // 获取单个节点 string name = doc.SelectSingleNode("//Computer[@ComputerID='2222222']/name").InnerText; ``` 修改节点信息时,可以通过获取节点后修改其属性或子元素的值: ```csharp // 修改某个计算机的价格 XmlNode priceNode = doc.SelectSingleNode("//Computer[@ComputerID='2222222']/price"); priceNode.InnerText = "12000"; ``` 向XML文件添加节点则是通过先找到父节点,然后插入新节点: ```csharp // 新增一个Computer节点 XmlElement newComputer = xmlDoc.CreateElement("Computer"); newComputer.SetAttribute("ComputerID", "3333333"); newComputer.SetAttribute("Description", "MadeinGermany"); XmlElement newNode = xmlDoc.CreateElement("name"); newNode.InnerText = "Dell"; newComputer.AppendChild(newNode); newPriceNode = xmlDoc.CreateElement("price"); newPriceNode.InnerText = "8000"; newComputer.AppendChild(newPriceNode); rootElement.AppendChild(newComputer); // 添加到根节点下 ``` 最后,删除指定节点需要定位到该节点,然后使用`RemoveChild`方法: ```csharp // 删除价格为10000的计算机节点 XmlNode nodeToRemove = doc.SelectSingleNode("//Computer[@price='10000']"); if (nodeToRemove != null) nodeToRemove.ParentNode.RemoveChild(nodeToRemove); ``` 通过以上步骤,你可以基本掌握在C#中对XML文件进行创建、读取、修改和删除的基本操作。这不仅适用于个人学习,也是实际项目中处理数据交换的常见需求。希望这些内容对你有所帮助,也欢迎提出宝贵意见。