zoukankan      html  css  js  c++  java
  • C#中XML解析的增加修改和删除

    01添加xml节点  

       private void AddXml(string image, string title)   
       {  
           XmlDocument xmlDoc = new XmlDocument();  
           xmlDoc.Load(Server.MapPath("../flash/dati.xml"));  
           XmlNode root = xmlDoc.SelectSingleNode("images");//查找<images>  
           XmlElement xe1 = xmlDoc.CreateElement("thumb");//创建一个<thumb>节点  
           xe1.SetAttribute("displayNum", "6");//设置该节点displayNum属性  
           xe1.SetAttribute("separation", "5");//设置该节点separation属性  
           XmlElement xesub1 = xmlDoc.CreateElement("image");  
           xesub1.InnerText = image;//设置文本节点  
           xe1.AppendChild(xesub1);//添加到thumb节点中  
           XmlElement xesub2 = xmlDoc.CreateElement("description");  
           xesub2.InnerText = title;  
           xe1.AppendChild(xesub2);  
           root.AppendChild(xe1);//添加到<images>节点中  
           xmlDoc.Save(Server.MapPath("../flash/dati.xml"));  
       }  
    

      02删除节点

    private void DelXml(string image)  
       {  
           XmlDocument xmlDoc = new XmlDocument();  
           xmlDoc.Load(Server.MapPath("../flash/dati.xml"));  
      
           XmlNodeList xnl = xmlDoc.SelectSingleNode("images").ChildNodes; //查找节点  
             
           foreach (XmlNode xn in xnl)  
           {  
               XmlElement xe = (XmlElement)xn;  
               if (xe.InnerText.IndexOf(image,0) >= 0)  
               {  
                   xn.ParentNode.RemoveChild(xn);  
                  // xn.RemoveAll();  
               }  
           }  
           xmlDoc.Save(Server.MapPath("../flash/dati.xml"));  
       }  
    

      03修改节点

    foreach(XmlNode xn in nodeList)//遍历所有子节点  
      {  
       XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型  
       if(xe.GetAttribute("genre")=="")// 判读条件  
       {  
        xe.SetAttribute("genre",newStr);//则修改该属性为newstr   
        XmlNodeList nls=xe.ChildNodes;//继续获取xe子节点的所有子节点  
        foreach(XmlNode xn1 in nls)//遍历  
        {  
         XmlElement xe2=(XmlElement)xn1;//转换类型  
         if(xe2.Name=="author")//如果找到 //判读条件  
         {  
          xe2.InnerText=newText;//则修改   
          break;//找到退出来就可以了  
         }  
        }  
        break;  
       }  
    

      

  • 相关阅读:
    今天是元旦啊
    [待解决]python 函数加括号和不加括号的区别
    Jupyter Notebook的快捷键列表误操作发现的新大陆
    Series选择和过滤
    做鸢尾花切片练习中的'&'问题:(&,|)和(and,or)
    报错合集
    关于随机数种子seed的问题尽量使用numpy下的seed
    pandas创建Series序列/hashable
    在jupyter notebook中插入截图
    xml反序列化时,如何生成与之对应的类文件
  • 原文地址:https://www.cnblogs.com/sunbin123/p/6590314.html
Copyright © 2011-2022 走看看