zoukankan      html  css  js  c++  java
  • xml操作代码作作参考

     protected void btnSubmit_Click(object sender, System.EventArgs e)
      {
       DataSet ds = new DataSet("myDs");
       if(!File.Exists(Server.MapPath("dbQuestion.xml")))
       {
        //以下创建数据库xml
        DataTable dt = new DataTable("Question");
        dt.Columns.Add("QuestionID",typeof(int));
        dt.Columns.Add("Name",typeof(string));
        dt.Columns.Add("Age",typeof(int));
        dt.Columns.Add("Email",typeof(string));
        dt.Columns.Add("Item",typeof(string));
        ds.Tables.Add(dt);
        //ds.WriteXml(Server.MapPath("dbQuestion.xml"));
       }
       else
        ds.ReadXml(Server.MapPath("dbQuestion.xml"));
       //以下生成一条记录
       DataRow dr =  ds.Tables[0].NewRow();
       dr["QuestionID"] = ds.Tables[0].Rows.Count+1;
       dr["Name"] =tbName.Text.Trim();
       dr["Age"] = tbAge.Text;
       dr["Email"] = tbEmail.Text;
       //以下保存用户的调查项目
       DataSet dsItem = new DataSet("Item");
       DataTable dtItem = new DataTable("dtItem");
       dsItem.Tables.Add(dtItem);
       dtItem.Columns.Add("ID",typeof(int));
       dtItem.Columns.Add("Title",typeof(string));
       dtItem.Columns.Add("Answer",typeof(string));
       for(int i=1;i<=6;i++)
       {
        DataRow drItem = dtItem.NewRow();
        drItem["ID"] =i;
        drItem["Title"] = ((Label)this.FindControl("lbQuestion"+i.ToString())).Text;
        RadioButtonList rbl = (RadioButtonList)this.FindControl("rbQuestion"+i.ToString());
        for(int j=0;j<4;j++)
        {
         if(rbl.Items[j].Selected)
          drItem["Answer"] = rbl.Items[j].Text;
        }
        dtItem.Rows.Add(drItem);
       }

       dr["Item"] = dsItem.GetXml();
       ds.Tables[0].Rows.Add(dr);
       //最后保存并转向
       ds.WriteXml(Server.MapPath("dbQuestion.xml"));
       Session["myDs"] = ds;
       Response.Redirect("show.aspx");


      }

    显示

      protected void Page_Load(object sender, System.EventArgs e)
      {
       // 在此处放置用户代码以初始化页面
       DataSet ds = (DataSet)Session["myDs"];
       dgShow.DataSource = ds.Tables[0].DefaultView;
       dgShow.DataBind();
      }

    ---利用xmldocment

    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"));
       XmlNodeList nodeList=xmlDoc.SelectSingleNode("dbGuest").ChildNodes;//获取dbGuest节点的所有子节点
       foreach(XmlNode xn in nodeList)//遍历所有子节点
       {
        XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型
       
        XmlNodeList node = xe.GetElementsByTagName("Name");
        if(node.Count>0)
        {

         if(node[0].InnerText==ddlName.SelectedItem.Text)
         {
          XmlNodeList nls=xe.ChildNodes;//继续获取xe子节点的所有子节点
          foreach(XmlNode xn1 in nls)//遍历
          {
           XmlElement xe2=(XmlElement)xn1;//转换类型
           if(xe2.Name=="Email")//如果找到
           {
            xe2.InnerText=tbNewMail.Text;//则修改
            break;//找到退出来就可以了
           }
          }
          break;
         }
        }
        
       }
       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"));
       XmlNodeList xnl=xmlDoc.SelectSingleNode("dbGuest").ChildNodes;
     
       foreach(XmlNode xn in xnl)
       {
        XmlElement xe=(XmlElement)xn;
        XmlNodeList node = xe.GetElementsByTagName("Name");
        if(node.Count>0)
        {

         if(node[0].InnerText==ddlName.SelectedItem.Text)
          xe.RemoveAll();//删除该节点的全部内容
         break;
        }
       }
       
       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="ss@22.net";
       xe1.AppendChild(xesub3);
     
       root.AppendChild(xe1);//添加到<dbGuest>节点中
       xmlDoc.Save(Server.MapPath(".\\db\\dbGuest.xml"));
       Bind();
      }
     }
    }

  • 相关阅读:
    手动档和自动档
    关于目标:骑行里程破万的感想
    JavaScript基础学习-iterable
    第一个mybatisplus
    MAVEN安装配置
    List和ArrayList的区别
    mysql安装
    Nginx的命令
    Windows Server 2008/2012/2016允许多个用户同时远程桌面
    soapui模拟桩-4 将模拟桩打包成war包
  • 原文地址:https://www.cnblogs.com/yzenet/p/2455669.html
Copyright © 2011-2022 走看看