C对XML读写的代码实例
更新时间:2023-11-14C#中读取XML文件并输出内容
在C#中,使用XmlDocument类来读取XML文件。下面是一个简单的示例,演示如何读取一个XML文件并输出其内容。
using System; using System.Xml; namespace ReadXMLDemo { class Program { static void Main(string[] args) { XmlDocument xmlDocument = new XmlDocument(); xmlDocument.Load("books.xml"); XmlNodeList books = xmlDocument.GetElementsByTagName("book"); foreach (XmlNode book in books) { Console.WriteLine("Book Title: " + book["title"].InnerText); Console.WriteLine("Author: " + book["author"].InnerText); Console.WriteLine("Year: " + book["year"].InnerText); Console.WriteLine(); } Console.ReadLine(); } } }
在这个示例中,我们首先创建一个XmlDocument对象并使用Load方法加载一个名为“books.xml”的XML文件。接着,我们使用GetElementsByTagName方法来获取XML中所有的book节点。然后,我们遍历每个book节点,并输出它们的相关信息。
C#中向XML文件写入数据
在C#中,使用XmlDocument类来向XML文件写入数据。下面是一个简单的示例,演示如何向XML文件中添加新的元素。
using System; using System.Xml; namespace WriteXMLDemo { class Program { static void Main(string[] args) { XmlDocument xmlDocument = new XmlDocument(); xmlDocument.Load("books.xml"); XmlElement newBook = xmlDocument.CreateElement("book"); XmlElement title = xmlDocument.CreateElement("title"); title.InnerText = "The Catcher in the Rye"; XmlElement author = xmlDocument.CreateElement("author"); author.InnerText = "J.D. Salinger"; XmlElement year = xmlDocument.CreateElement("year"); year.InnerText = "1951"; newBook.AppendChild(title); newBook.AppendChild(author); newBook.AppendChild(year); XmlNodeList bookList = xmlDocument.GetElementsByTagName("books"); bookList[0].AppendChild(newBook); xmlDocument.Save("books.xml"); Console.WriteLine("New book added to XML file!"); Console.ReadLine(); } } }
在这个示例中,我们首先创建了一个XmlDocument对象并使用Load方法加载一个名为“books.xml”的XML文件。然后,我们创建了一个新的XmlElement对象,并用CreateElement方法创建了新的title、author和year元素。接着,我们使用AppendChild方法将这些元素添加到新的book节点中。最后,我们使用GetElementsByTagName方法获取books节点的引用,并使用AppendChild方法将新的book节点添加到其中。最后,我们使用Save方法保存修改后的XML文件。
C#中修改XML文件中的数据
在C#中,使用XmlDocument类来修改XML文件中的数据。下面是一个简单的示例,演示如何修改一个book元素的信息。
using System; using System.Xml; namespace ModifyXMLDemo { class Program { static void Main(string[] args) { XmlDocument xmlDocument = new XmlDocument(); xmlDocument.Load("books.xml"); XmlNodeList books = xmlDocument.GetElementsByTagName("book"); foreach (XmlNode book in books) { if (book["title"].InnerText == "To Kill a Mockingbird") { book["year"].InnerText = "1960"; } } xmlDocument.Save("books.xml"); Console.WriteLine("XML file updated!"); Console.ReadLine(); } } }
在这个示例中,我们首先创建了一个XmlDocument对象并使用Load方法加载一个名为“books.xml”的XML文件。接着,我们使用GetElementsByTagName方法获取XML中所有的book节点,并遍历每个book节点。然后,我们检查它们的title元素是否为“To Kill a Mockingbird”,如果是,我们修改它们的year元素为“1960”。
C#中删除XML文件中的元素
在C#中,使用XmlDocument类来删除XML文件中的元素。下面是一个简单的示例,演示如何删除XML文件中的一个book元素。
using System; using System.Xml; namespace RemoveXMLDemo { class Program { static void Main(string[] args) { XmlDocument xmlDocument = new XmlDocument(); xmlDocument.Load("books.xml"); XmlNodeList books = xmlDocument.GetElementsByTagName("book"); foreach (XmlNode book in books) { if (book["title"].InnerText == "The Great Gatsby") { book.ParentNode.RemoveChild(book); } } xmlDocument.Save("books.xml"); Console.WriteLine("XML file updated!"); Console.ReadLine(); } } }
在这个示例中,我们首先创建了一个XmlDocument对象并使用Load方法加载一个名为“books.xml”的XML文件。接着,我们使用GetElementsByTagName方法获取XML中所有的book节点,并遍历每个book节点。然后,我们检查它们的title元素是否为“The Great Gatsby”,如果是,我们使用RemoveChild方法删除它们。最后,我们使用Save方法保存修改后的XML文件。