C# XML 添加,修改,删除Xml节点

本文介绍了一种使用C#进行XML文件操作的方法,包括添加、删除及修改XML节点的具体实现。通过实例展示了如何利用XmlDocument类及其相关方法完成这些操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文:http://rzshengyuan.blog.163.com/blog/static/1364934832010101393637819/


  1. //添加xml节点   
  2.    private void AddXml(string image, string title)   
  3.    {  
  4.        XmlDocument xmlDoc = new XmlDocument();  
  5.        xmlDoc.Load(Server.MapPath("../flash/dati.xml"));  
  6.        XmlNode root = xmlDoc.SelectSingleNode("images");//查找<images>   
  7.        XmlElement xe1 = xmlDoc.CreateElement("thumb");//创建一个<thumb>节点   
  8.        xe1.SetAttribute("displayNum""6");//设置该节点displayNum属性   
  9.        xe1.SetAttribute("separation""5");//设置该节点separation属性   
  10.        XmlElement xesub1 = xmlDoc.CreateElement("image");  
  11.        xesub1.InnerText = image;//设置文本节点   
  12.        xe1.AppendChild(xesub1);//添加到thumb节点中   
  13.        XmlElement xesub2 = xmlDoc.CreateElement("description");  
  14.        xesub2.InnerText = title;  
  15.        xe1.AppendChild(xesub2);  
  16.        root.AppendChild(xe1);//添加到<images>节点中   
  17.        xmlDoc.Save(Server.MapPath("../flash/dati.xml"));  
  18.    }  
  19.   
  20.   
  21.   //删除节点内容   
  22.    private void DelXml(string image)  
  23.    {  
  24.        XmlDocument xmlDoc = new XmlDocument();  
  25.        xmlDoc.Load(Server.MapPath("../flash/dati.xml"));  
  26.   
  27.        XmlNodeList xnl = xmlDoc.SelectSingleNode("images").ChildNodes; //查找节点   
  28.          
  29.        foreach (XmlNode xn in xnl)  
  30.        {  
  31.            XmlElement xe = (XmlElement)xn;  
  32.            if (xe.InnerText.IndexOf(image,0) >= 0)  
  33.            {  
  34.                xn.ParentNode.RemoveChild(xn);  
  35.               // xn.RemoveAll();   
  36.            }  
  37.        }  
  38.        xmlDoc.Save(Server.MapPath("../flash/dati.xml"));  
  39.    }  
  40.   
  41.   //修改   
  42.   foreach(XmlNode xn in nodeList)//遍历所有子节点   
  43.   {  
  44.    XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型   
  45.    if(xe.GetAttribute("genre")=="")// 判读条件   
  46.    {  
  47.     xe.SetAttribute("genre",newStr);//则修改该属性为newstr    
  48.     XmlNodeList nls=xe.ChildNodes;//继续获取xe子节点的所有子节点   
  49.     foreach(XmlNode xn1 in nls)//遍历   
  50.     {  
  51.      XmlElement xe2=(XmlElement)xn1;//转换类型   
  52.      if(xe2.Name=="author")//如果找到 //判读条件   
  53.      {  
  54.       xe2.InnerText=newText;//则修改    
  55.       break;//找到退出来就可以了   
  56.      }  
  57.     }  
  58.     break;  
  59.    }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值