c语言编程笔录

首页 >   > 笔记大全

笔记大全

c对xml的CURD操作的代码示例

更新时间:2023-12-04

1. 创建XML文档

使用XmlWriter创建一个XML文件,并添加内容。下面是一个简单的例子。

    using System.Xml;
    ...
    //创建XmlWriter
    XmlWriterSettings settings = new XmlWriterSettings();
    settings.Indent = true;
    XmlWriter writer = XmlWriter.Create("demo.xml", settings);

    //写入XML文档
    writer.WriteStartElement("catalog");   //写根节点
    writer.WriteStartElement("book");      //写子节点
    writer.WriteAttributeString("id", "001");
    writer.WriteElementString("name", "C# Programming");
    writer.WriteElementString("author", "John Smith");
    writer.WriteEndElement();              //关闭book节点
    writer.WriteEndElement();              //关闭catalog节点

    //关闭XmlWriter
    writer.Close();
  

2. 读取XML文档

使用XmlDocument读取XML文件。下面是一个例子。

    using System.Xml;

    XmlDocument doc = new XmlDocument();
    doc.Load("demo.xml");

    //获取根节点
    XmlNode rootNode = doc.SelectSingleNode("catalog");

    //遍历子节点
    XmlNodeList nodeList = rootNode.ChildNodes;
    foreach (XmlNode node in nodeList) {
      string id = node.Attributes["id"].Value;
      string name = node.SelectSingleNode("name").InnerText;
      string author = node.SelectSingleNode("author").InnerText;
    }
  

3. 更新XML文档

使用XmlDocument更新XML文件中的数据。下面是一个例子。

    using System.Xml;

    XmlDocument doc = new XmlDocument();
    doc.Load("demo.xml");

    //获取要修改的节点
    XmlNode node = doc.SelectSingleNode("/catalog/book[@id='001']");

    //更新节点的内容
    XmlNode nameNode = node.SelectSingleNode("name");
    nameNode.InnerText = "C# Programming Language";

    //保存修改后的XML文档
    doc.Save("demo.xml");
  

4. 删除XML文档

使用XmlDocument删除XML文件中的数据。下面是一个例子。

    using System.Xml;

    XmlDocument doc = new XmlDocument();
    doc.Load("demo.xml");

    //获取要删除的节点
    XmlNode node = doc.SelectSingleNode("/catalog/book[@id='001']");

    //删除节点
    node.ParentNode.RemoveChild(node);

    //保存修改后的XML文档
    doc.Save("demo.xml");
  
总结:通过XmlDocument和XmlWriter实现了对XML文档的CURD操作,可以方便地进行数据的读取、修改和删除,并将数据存储为XML格式的文件。对于需要频繁操作XML文件的场景,这些操作可以大大简化开发的工作量,提高开发效率。同时,需要注意的是,处理XML文档时应当考虑到性能和安全方面的问题,如数据量过大、XML注入等问题。