以下是一个C#中操作XML文件的增删改查(CRUD)示例,我们将使用`System.Xml`命名空间下的类如`XmlDocument`来操作XML文件。请注意,这个示例假设你已经有了一个简单的XML文件,比如叫做`example.xml`,其内容如下:
<Books>
<Book>
<Title>Book 1</Title>
<Author>Author 1</Author>
</Book>
<Book>
<Title>Book 2</Title>
<Author>Author 2</Author>
</Book>
</Books>
### 1. 读取(Read)
using System;
using System.Xml;
class Program
{
static void ReadXml()
{
XmlDocument doc = new XmlDocument();
doc.Load("example.xml");
foreach (XmlNode node in doc.SelectNodes("Books/Book"))
{
Console.WriteLine($"Title: {node["Title"].InnerText}, Author: {node["Author"].InnerText}");
}
}
}
### 2. 添加(Create)
using System;
using System.Xml;
class Program
{
static void AddBook(XmlDocument doc)
{
XmlElement newBook = doc.CreateElement("Book");
XmlElement title = doc.CreateElement("Title");
title.InnerText = "Book 3";
newBook.AppendChild(title);
XmlElement author = doc.CreateElement("Author");
author.InnerText = "Author 3";
newBook.AppendChild(author);
doc.DocumentElement.AppendChild(newBook);
doc.Save("example.xml");
}
}
### 3. 修改(Update)
using System;
using System.Xml;
class Program
{
static void UpdateBook(XmlDocument doc)
{
XmlNode book = doc.SelectSingleNode("Books/Book[Title='Book 1']");
if (book != null)
{
book["Author"].InnerText = "Updated Author 1";
doc.Save("example.xml");
}
}
}
### 4. 删除(Delete)
using System;
using System.Xml;
class Program
{
static void DeleteBook(XmlDocument doc)
{
XmlNode book = doc.SelectSingleNode("Books/Book[Title='Book 2']");
if (book != null)
{
book.ParentNode.RemoveChild(book);
doc.Save("example.xml");
}
}
}
请注意,为了简化示例,这里每个操作都作为一个独立的方法给出,并假设你已经有了一个`XmlDocument`的实例`doc`。在实际应用中,你可能需要在一个程序中组合这些操作,并处理异常和文件访问权限等问题。
此外,为了完整性,你可能还需要在程序的入口点(如`Main`方法)中加载XML文档,并调用这些方法。由于篇幅限制,这里不再展示完整的程序结构。