使用C#对XML进行增删改查操作

xml文件格式

 

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <messageList>  
  3.   <message id="1">  
  4.     <Name>熊猫</Name>  
  5.     <QQ>123456</QQ>  
  6.     <Email>panda@qq.com</Email>  
  7.     <Content>asfdsafasdfasdfsad我是内容</Content>  
  8.     <Time>2009-10-1</Time>  
  9.   </message>  
  10. </messageList>  

 

 

增加>>>>

 

[c-sharp] view plaincopyprint?
 
  1. XmlDocument xmld = new XmlDocument();  
  2.                 xmld.Load(Server.MapPath("App_Code/Message.xml"));//加载xml文件   
  3.                 XmlNode root = xmld.SelectSingleNode("messageList");//查找messageList节点  
  4.   
  5.                 int i = xmld.SelectSingleNode("messageList").ChildNodes.Count + 1;  
  6.                 XmlElement xml0 = xmld.CreateElement("message");  
  7.                 xml0.SetAttribute("id", i.ToString());  
  8.   
  9.                 XmlElement xml1 = xmld.CreateElement("Name");//创建一个Name节点  
  10.                 xml1.InnerText = this.txtName.Value.Trim();  
  11.                 xml0.AppendChild(xml1);//添加  
  12.   
  13.                 XmlElement xml2 = xmld.CreateElement("QQ");//创建QQ节点  
  14.                 xml2.InnerText = this.txtQQ.Value.Trim();  
  15.                 xml0.AppendChild(xml2);//添加  
  16.   
  17.                 XmlElement xml3 = xmld.CreateElement("Email");//创建一个Email节点  
  18.                 xml3.InnerText = this.txtEmail.Value.Trim();  
  19.                 xml0.AppendChild(xml3);//添加  
  20.   
  21.                 XmlElement xml4 = xmld.CreateElement("Content");//创建一个Content节点  
  22.                 xml4.InnerText = this.txtContent.Value;  
  23.                 xml0.AppendChild(xml4);//添加  
  24.   
  25.                 XmlElement xml5 = xmld.CreateElement("Time");//创建一个Time节点  
  26.                 xml5.InnerText = DateTime.Now.ToString("yyyy-MM-dd");  
  27.                 xml0.AppendChild(xml5);//添加  
  28.   
  29.                 root.AppendChild(xml0);  
  30.   
  31.                 xmld.Save(Server.MapPath("App_Code/Message.xml"));  

 

 

删除>>>>

 

[c-sharp] view plaincopyprint?
 
  1. XmlDocument xmld = new XmlDocument();  
  2.   
  3.        xmld.Load(Server.MapPath("App_Code/Message.xml"));  
  4.   
  5.        XmlNodeList list = xmld.SelectSingleNode("messageList").ChildNodes;  
  6.   
  7.        foreach (XmlNode var in list)  
  8.        {  
  9.            XmlElement xmle = (XmlElement)var;  
  10.   
  11.            if (xmle.GetAttribute("id") == Id)//如果ID等于文本的值就删除  
  12.            {  
  13.                xmle.RemoveAll();  
  14.                xmld.Save(Server.MapPath("App_Code/Message.xml"));//删除后记得一定要保存  
  15.                Page.ClientScript.RegisterStartupScript(GetType(), """alert('删除成功!!');"true);  
  16.            }  
  17.            else  
  18.            {  
  19.                Page.ClientScript.RegisterStartupScript(GetType(), """alert('删除失败!!');"true);  
  20.            }  
  21.        }  

 

更改>>>>

 

[c-sharp] view plaincopyprint?
 
  1. XmlDocument xmld = new XmlDocument();  
  2.        xmld.Load(Server.MapPath("App_Code/Message.xml"));  
  3.   
  4.        XmlNodeList list = xmld.SelectSingleNode("messageList").ChildNodes;  
  5.   
  6.        foreach (XmlNode xmln in list)  
  7.        {  
  8.            XmlElement xmle = (XmlElement)xmln;//格式转换  
  9.            if (Request["ID"].Equals(xmle.GetAttribute("id")))  
  10.            {  
  11.                xmle.ChildNodes[0].InnerText = this.txtName.Value;  
  12.                xmle.ChildNodes[1].InnerText = this.txtQQ.Value;  
  13.                xmle.ChildNodes[2].InnerText = this.txtEmail.Value;  
  14.                xmle.ChildNodes[3].InnerText = this.txtContent.Value;  
  15.   
  16.                xmld.Save(Server.MapPath("App_Code/Message.xml"));  
  17.                Page.ClientScript.RegisterStartupScript(this.GetType(), """alert('修改成功!!!');location.href='MessageList.aspx'",true);  
  18.            }  
  19.        }  

 

查询>>>>>

 

[c-sharp] view plaincopyprint?
 
  1. //下面的代码开始是用页面编码的方式实现的  
  2. XmlDocument xmld = new XmlDocument();//构建xml文档  
  3.             xmld.Load(Server.MapPath("App_Code/Message.xml"));//加载  
  4.   
  5.             XmlNodeList list = xmld.SelectSingleNode("messageList").ChildNodes;//获取子节点  
  6.             if (list!=null)  
  7.             {  
  8.             foreach (XmlNode node in list)  
  9.             {  
  10.                 XmlElement xmle = (XmlElement)node;//转换   
  11. //这里到时候明天补上  

 来自:http://blog.csdn.net/zhoukang0916/article/details/4684210

posted @ 2014-03-21 23:23  shuenjian901  阅读(436)  评论(0编辑  收藏  举报