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");//保存。

  • 相关阅读:
    力扣(LeetCode)67. 二进制求和
    力扣(LeetCode) 66. 加一
    力扣(LeetCode)58. 最后一个单词的长度
    力扣(LeetCode)1009. 十进制整数的反码
    力扣(LeetCode) 20. 有效的括号
    力扣(LeetCode)1016. 子串能表示从 1 到 N 数字的二进制串
    数据库索引
    OSI 七层和五层
    ST算法
    F
  • 原文地址:https://www.cnblogs.com/jsping/p/2626997.html
Copyright © 2011-2022 走看看