asp.net操作xml增删改示例分享


在ASP.NET中操作XML文件进行增、删、改操作,通常我们会使用`System.Xml`命名空间下的类,如`XmlDocument`。下面我将分别给出增加、删除、修改XML节点的示例代码。

### 1. 添加节点(增加)

假设我们有一个名为`books.xml`的XML文件,内容如下:


<?xml version="1.0" encoding="utf-8"?>
<books>
  <book>
    <title>ASP.NET从入门到精通</title>
    <author>张三</author>
  </book>
</books>

我们想要添加一个新的``节点:


using System;
using System.Xml;

public class XmlOperations
{
    public static void AddBook()
    {
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load("books.xml");

        // 创建新节点
        XmlElement newBook = xmlDoc.CreateElement("book");
        XmlElement title = xmlDoc.CreateElement("title");
        title.InnerText = "C#编程宝典";
        XmlElement author = xmlDoc.CreateElement("author");
        author.InnerText = "李四";

        // 将节点添加到新创建的book节点下
        newBook.AppendChild(title);
        newBook.AppendChild(author);

        // 将新创建的book节点添加到books节点下
        xmlDoc.DocumentElement.AppendChild(newBook);

        // 保存修改
        xmlDoc.Save("books.xml");
    }
}

### 2. 删除节点

假设我们要删除上面添加的`C#编程宝典`这本书的节点:


public static void DeleteBook(string title)
{
    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.Load("books.xml");

    // 查找要删除的book节点
    XmlNodeList bookNodes = xmlDoc.SelectNodes("books/book");
    foreach (XmlNode bookNode in bookNodes)
    {
        XmlElement titleElem = (XmlElement)bookNode.SelectSingleNode("title");
        if (titleElem != null && titleElem.InnerText == title)
        {
            bookNode.ParentNode.RemoveChild(bookNode);
            break;
        }
    }

    // 保存修改
    xmlDoc.Save("books.xml");
}

### 3. 修改节点

假设我们要将`ASP.NET从入门到精通`这本书的作者改为`王五`:


public static void UpdateBookAuthor(string title, string newAuthor)
{
    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.Load("books.xml");

    // 查找要修改的book节点
    XmlNodeList bookNodes = xmlDoc.SelectNodes("books/book");
    foreach (XmlNode bookNode in bookNodes)
    {
        XmlElement titleElem = (XmlElement)bookNode.SelectSingleNode("title");
        if (titleElem != null && titleElem.InnerText == title)
        {
            XmlElement authorElem = (XmlElement)bookNode.SelectSingleNode("author");
            if (authorElem != null)
            {
                authorElem.InnerText = newAuthor;
            }
            break;
        }
    }

    // 保存修改
    xmlDoc.Save("books.xml");
}

请注意,这些示例假设您已经有了一个名为`books.xml`的文件,并且该文件位于应用程序能够访问的目录中。在实际应用中,您可能需要根据实际情况调整文件路径和错误处理逻辑。