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;  
       }  
    

      

  • 相关阅读:
    一件重要的事想要告诉大家 AlexCool
    经典永不过时!重温设计模式 AlexCool
    腾讯云网络核心技术演进实践|好文推荐 AlexCool
    经典永驻,重温设计模式 |硬核! AlexCool
    linux网络全景指南 AlexCool
    Linux调度系统全景指南(终结篇) AlexCool
    大厂的面试官是如何挑人的? AlexCool
    中国大学MOOC数据结构基础习题集、023、求前缀表达式的值
    中国大学MOOC数据结构基础习题集、041、Root of AVL Tree
    中国大学MOOC数据结构基础习题集、052、Saving James Bond Easy Version
  • 原文地址:https://www.cnblogs.com/sunbin123/p/6590314.html
Copyright © 2011-2022 走看看