
XML
使用C#处理XML文档是一种常见的任务,它可以帮助我们读取、写入和修改XML文件。在这篇文章中,我们将介绍如何使用C#来处理XML文档,并给出一些实际的案例代码。
读取XML文档首先,让我们看看如何使用C#来读取XML文档。我们可以使用XMLDocument类来加载和解析XML文件。下面是一个简单的例子:csharpusing System;using System.XML;class Program{ static void MAIn() { XMLDocument doc = new XMLDocument(); doc.Load("books.XML"); XMLNodeList bookList = doc.GetElementsByTagName("book"); foreach (XMLNode bookNode in bookList) { string title = bookNode.SelectSingleNode("title").InnerText; string author = bookNode.SelectSingleNode("author").InnerText; int year = Convert.ToInt32(bookNode.SelectSingleNode("year").InnerText); Console.WriteLine("Title: " + title); Console.WriteLine("Author: " + author); Console.WriteLine("Year: " + year); Console.WriteLine(); } }}上面的代码首先创建了一个XMLDocument对象,并使用Load方法加载了一个名为"books.XML"的XML文件。然后,通过调用GetElementsByTagName方法,我们获取了所有名为"book"的节点,并使用一个循环遍历了每个节点。在循环中,我们使用SelectSingleNode方法来获取每个节点下的子节点的值,并将其输出到控制台。修改XML文档除了读取XML文档,我们还可以使用C#来修改XML文件。下面是一个例子,演示了如何向XML文档中添加一个新的节点:csharpusing System;using System.XML;class Program{ static void MAIn() { XMLDocument doc = new XMLDocument(); doc.Load("books.XML"); XMLNode booksNode = doc.SelectSingleNode("books"); XMLNode newBookNode = doc.CreateElement("book"); XMLNode titleNode = doc.CreateElement("title"); XMLNode authorNode = doc.CreateElement("author"); XMLNode yearNode = doc.CreateElement("year"); titleNode.InnerText = "New Book"; authorNode.InnerText = "John Doe"; yearNode.InnerText = "2022"; newBookNode.AppendChild(titleNode); newBookNode.AppendChild(authorNode); newBookNode.AppendChild(yearNode); booksNode.AppendChild(newBookNode); doc.Save("books.XML"); Console.WriteLine("New book added successfully."); }}上面的代码首先加载了一个名为"books.XML"的XML文件,并使用SelectSingleNode方法找到了名为"books"的节点。然后,我们使用CreateElement方法创建了一个新的"book"节点,并使用CreateElement方法创建了"title"、"author"和"year"节点。接下来,我们使用InnerText属性为每个节点设置了值,并使用AppendChild方法将这些节点添加到新的"book"节点中。最后,我们将新的"book"节点添加到"books"节点中,并使用Save方法保存了修改后的XML文件。在本文中,我们介绍了如何使用C#来处理XML文档。我们学习了如何读取XML文件的内容,并通过一个案例代码演示了如何修改XML文件。通过这些技巧,我们可以轻松地处理和操作XML文档,以满足我们的需求。无论是读取还是写入XML文件,C#都提供了丰富的类和方法来帮助我们完成任务。希望本文对您有所帮助!Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号