zoukankan      html  css  js  c++  java
  • C#中对XML的操作

    现在有一个xml文件,名称:BookStore.xml,数据如下:

    <?xml version="1.0" encoding="gb2312"?>
    <bookstore>
      <book genre="fantasy" ISBN="2-3631-4">
        <title>Oberon's Legacy</title>
        <author>Corets, Eva</author>
        <price>5.95</price>
      </book>
    </bookstore>

    现在对这个xml文件进行如下操作:

    (1)往<bookstore>节点中插入一个<book>节点:

      XmlDocument doc=new XmlDocment();

      doc.Load("BookStore.xml");

      XmlNode node=doc.SelectSingleNode("bookstore");  //查找节点

      XmlElement element=doc.CreateElement("book");

      element.SetAttribute("..属性名称..","..属性值..")   //此处设置节点的属性

      XmlElement nodeNew=doc.CreateElement("title");  //在book节点中创建新的节点

      nodeNew.InnerText="......"; //给新节点赋值

      element.AppendChild(nodeNew);  //在book后面添加子节点

      node.AppendChild(element);

      doc.Save("BookStore.xml");

    (2)修改XML中的节点

      XmlNodeList nodeList=doc.SelectSingleNode("bookstore").ChildNodes;//获取bookstore节点的所有子节点

      //遍历所有子节点

      foreach(XmlNode cnode in nodeList)

      {

        XmlElement element=(XmlElement)cnode; 

        if(element.GetAttribute("..属性名..")=="..值..")  //如果查找到了值

        cnode.SetAttribute("..属性名..","..需要设置的值..");

        XmlNodeList nls=element.ChildNodes;//继续获取element子节点的所有子节点

        foreach(XmlNode xn1 in nls)//遍历
           {
              XmlElement xe2=(XmlElement)xn1;//转换类型
              if(xe2.Name=="author")//如果找到
              {
                 xe2.InnerText="..值..";//则修改值
                 break;//退出

              }

        }

        break;

        }

      }

      xmlDoc.Save("bookstore.xml");//保存。

  • 相关阅读:
    Python并发编程之深入理解yield from语法(八)
    Python并发编程之从生成器使用入门协程(七)
    Python并发编程之消息队列补充及如何创建线程池(六)
    Delphi中Chrome Chromium、Cef3学习笔记(一)
    Webbrowser指定IE内核版本(更改注册表)
    C#截取字符串按字节截取SubString
    C# DataGridView导出Excel
    C# Microsoft.Office不存在空间名称Interop和Excel
    c#线程间传递参数
    C#根据进程名称获取进程的句柄?
  • 原文地址:https://www.cnblogs.com/jsping/p/2626997.html
Copyright © 2011-2022 走看看