• c# 对Xml的增删改查


    XMl文件

    <?xml version="1.0" standalone="yes"?>
    <dbGuest>
    <User>
        <Name>Guset</Name>
        <City>上海</City>
        <Email>fdfd</Email>
    </User>
    <User>
        <Name>Gu</Name>
        <City>上海</City>
        <Email>fdfd</Email>
    </User>
    </dbGuest>

    访问的类

    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using System.Xml;
    using System.Xml.XPath;
    namespace DsAndXML.OpXMLFile
    {
    /// <summary>
    /// Main 的摘要说明。
    /// </summary>
    public partial class Main : System.Web.UI.Page
    {

       protected void Page_Load(object sender, System.EventArgs e)
       {
        // 在此处放置用户代码以初始化页面
        if(!IsPostBack)
        Bind();

       }

            //绑定数据
       private void Bind()
       {
        DataSet ds = new DataSet();
        ds.ReadXml(Server.MapPath(".\\db\\dbGuest.xml"));
        dgShow.DataSource = ds.Tables[0].DefaultView;
        dgShow.DataBind();
        XmlDocument doc = new XmlDocument();
        doc.Load(Server.MapPath(".\\db\\dbGuest.xml"));
        XmlNodeList elemList = doc.GetElementsByTagName("Name");
        ddlName.Items.Clear();
        for(int i=0;i<elemList.Count;i++)
        ddlName.Items.Add(elemList[i].InnerXml);
       
       }

       #region Web Form Designer generated code
       override protected void OnInit(EventArgs e)
       {
        //
        // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
        //
        InitializeComponent();
        base.OnInit(e);
       }
      
       /// <summary>
       /// 设计器支持所需的方法 - 不要使用代码编辑器修改
       /// 此方法的内容。
       /// </summary>
       private void InitializeComponent()
       {   

       }
       #endregion

            //查询一个数据
       protected void btnQuery_Click(object sender, System.EventArgs e)
       {
        XmlDocument doc = new XmlDocument();
        doc.Load(Server.MapPath(".\\db\\dbGuest.xml"));
          lbEmail.Text = doc.SelectSingleNode("//User[Name='"+ddlName.SelectedItem.Text+"']").ChildNodes.Item(2).InnerText;
            
       }

            //修改一个数据
       protected void btnChange_Click(object sender, System.EventArgs e)
       {
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load(Server.MapPath(".\\db\\dbGuest.xml"));
                xmlDoc.SelectSingleNode("//User[Name='"+ddlName.SelectedItem.Text+"']").ChildNodes.Item(2).InnerText = tbNewMail.Text.ToString().Trim();//获取dbGuest节点的所有子节点
        xmlDoc.Save(Server.MapPath(".\\db\\dbGuest.xml"));
        Bind();
       }

            //删除一个数据
       protected void btnDelete_Click(object sender, System.EventArgs e)
       {
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load(Server.MapPath(".\\db\\dbGuest.xml"));
                xmlDoc.SelectSingleNode("//User[Name='" + ddlName.SelectedItem.Text + "']").RemoveAll();
                xmlDoc.Save(Server.MapPath(".\\db\\dbGuest.xml"));
                Bind();
       }

            //添加一个数据
       protected void btnAdd_Click(object sender, System.EventArgs e)
       {
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load(Server.MapPath(".\\db\\dbGuest.xml"));
        XmlNode root=xmlDoc.SelectSingleNode("dbGuest");//查找<dbGuest>
        XmlElement xe1=xmlDoc.CreateElement("User");//创建一个<User>节点
        XmlElement xesub1=xmlDoc.CreateElement("Name");
        xesub1.InnerText="Guset";//设置文本节点
        xe1.AppendChild(xesub1);//添加到<User>节点中
        XmlElement xesub2=xmlDoc.CreateElement("City");
        xesub2.InnerText="郑州";
        xe1.AppendChild(xesub2);
        XmlElement xesub3=xmlDoc.CreateElement("Email");
        xesub3.InnerText="sufei.1013@163.com";
        xe1.AppendChild(xesub3);

        root.AppendChild(xe1);//添加到<dbGuest>节点中
        xmlDoc.Save(Server.MapPath(".\\db\\dbGuest.xml"));
        Bind();
       }
    }
    }

    这个例子很是经典希望大家能用的上啊

    不明白 的可以发Email给我上面有的

  • 相关阅读:
    POJ Problem 1363 Rails 【栈】
    POJ Problem 3040 Allowance 【贪心】
    ACM 程序对拍
    HDU Problem
    POJ
    HDU Problem
    HDU Problem—2124 Repair the Wall 【贪心】
    HDU Problem 1052 Tian Ji -- The Horse Racing 【贪心】
    POJ Problem Radar Installation 【贪心】
    Beyond Compare和输出文件比较的方法
  • 原文地址:https://www.cnblogs.com/sufei/p/1486003.html
Copyright © 2020-2023  润新知