使用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>

增加>>>>

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

删除>>>>

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

更改>>>>

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

查询>>>>>

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

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

上一篇:VB&XML的增删改查


下一篇:对oracle里面clob字段里面xml的增删改查学习