zoukankan      html  css  js  c++  java
  • 使用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

  • 相关阅读:
    迅为4412开发板实验Menuconfig_Kconfig(上)
    迅为IMX6ULL开发板Linux 4G通信实验
    迅为IMX6ULL开发板Linux RS232/485驱动实验(下)
    迅为4412开发板实验_Makefile编译(下)
    迅为IMX6Q开发板QtE5.7编译(上)
    迅为干货 | iTOP-4418/6818移植mt6620热点
    UDT源码剖析(十一)之SendQueue And RecvQueue
    UDT源码剖析(九)之CCC
    UDT源码剖析(十)之Channel
    UDT源码剖析(八)之Cache
  • 原文地址:https://www.cnblogs.com/shuenjian901/p/3616935.html
Copyright © 2011-2022 走看看