您的位置:首页 > 编程语言 > ASP

asp.net中对XML文件进行操作(增、删、改、查)

2007-01-29 14:08 405 查看
现在随着网络发展,xml的应用也被不断应用到网络中.本篇主要是针对对Xml的应用进行一些实际操作.代码稚嫩.供自学..HOHO~~

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;






namespace DVBAres_C2._2




...{




    /**//// <summary>


    /// Information_page_templates 的摘要说明。


    /// </summary>


    public class Information_page_templates : System.Web.UI.Page




    ...{


        protected System.Web.UI.WebControls.TextBox tbNewTemplatesName;


        protected System.Web.UI.WebControls.Button btnChange;


        protected System.Web.UI.WebControls.TextBox TextBoxTemplatesName;


        protected System.Web.UI.WebControls.Button btnQuery;


        protected System.Web.UI.WebControls.DropDownList ddlName;


        protected System.Web.UI.WebControls.Button btnDelete;


        protected System.Web.UI.WebControls.Label dgTitle;


        protected System.Web.UI.WebControls.Button Button_NewTemplates;


        protected System.Web.UI.WebControls.DataGrid dgShow;


    


        private void Page_Load(object sender, System.EventArgs e)




        ...{


            // 在此处放置用户代码以初始化页面


            try




            ...{


                if(!IsPostBack)




                ...{


                    Bind();


                    


                }


                    


            }


            catch




            ...{


                Response.Write("没有发现模板库中有任何模板!!!");


            }


        


            btnDelete.Attributes.Add("onclick","return confirm('你确定要删除该模板吗?')");


            


        }






        Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码


        override protected void OnInit(EventArgs e)




        ...{


            //


            // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。


            //


            InitializeComponent();


            base.OnInit(e);


        }


        




        /**//// <summary>


        /// 设计器支持所需的方法 - 不要使用代码编辑器修改


        /// 此方法的内容。


        /// </summary>


        private void InitializeComponent()




        ...{    


            this.btnChange.Click += new System.EventHandler(this.btnChange_Click);


            this.btnQuery.Click += new System.EventHandler(this.btnQuery_Click);


            this.btnDelete.Click += new System.EventHandler(this.btnDelete_Click);


            this.Button_NewTemplates.Click += new System.EventHandler(this.Button_NewTemplates_Click);


            this.Load += new System.EventHandler(this.Page_Load);




        }


        #endregion




        private void Bind()




        ...{


            //XML数据绑定


            DataSet ds = new DataSet();


            ds.ReadXml(Server.MapPath("./Templates/Statistical_charts_types_templates.xml"));


            dgShow.DataSource = ds.Tables[0].DefaultView;


            dgShow.DataBind();


            XmlDocument doc = new XmlDocument();


            doc.Load(Server.MapPath("./Templates/Statistical_charts_types_templates.xml"));


            XmlNodeList elemList = doc.GetElementsByTagName("TemplatesName");


            ddlName.Items.Clear();


            for(int i=0;i<elemList.Count;i++)


                ddlName.Items.Add(elemList[i].InnerXml);


            //XmlTemplates=ddlName.SelectedItem.Value;


        }


        private void Button_NewTemplates_Click(object sender, System.EventArgs e)




        ...{


            string fileName = Server.MapPath(@".TemplatesStatistical_charts_types_templates.xml");   //要打开的文件


            try




            ...{




                XmlDocument xmlDoc = new XmlDocument();


                xmlDoc.Load(fileName);


                XmlNode root=xmlDoc.SelectSingleNode("DVBAres");//查找<Dvb>


                XmlNodeList xnl=xmlDoc.SelectSingleNode("DVBAres").ChildNodes;


                int nIndex = xnl.Count;


                //以下添加新结点


                XmlElement xe1=xmlDoc.CreateElement("Templates");//创建一个Templates节点


                XmlElement xesub1=xmlDoc.CreateElement("TemplatesID");


                xesub1.InnerText=nIndex.ToString();//设置文本节点


                xe1.AppendChild(xesub1);//添加到Templates节点中


                XmlElement xesub2=xmlDoc.CreateElement("TemplatesName");


                xesub2.InnerText=TextBox_TemplatesName.Text;


                xe1.AppendChild(xesub2);


                XmlElement xesub3=xmlDoc.CreateElement("TemplatesChan");


                xesub3.InnerText=Chan_List.SelectedItem.Value;//获取下拉列表索引值


                //xesub3.InnerText=Chan_List.SelectedItem.Text;//获取下拉列表TEXT


                xe1.AppendChild(xesub3);


                XmlElement xesub4=xmlDoc.CreateElement("TemplatesErr");


                xesub4.InnerText=Err_List.SelectedValuesToString();


                //xesub4.InnerText=Err_List.SelectedLabelsToString();


                xe1.AppendChild(xesub4);


                XmlElement xesub5=xmlDoc.CreateElement("TemplatesStat");


                xesub5.InnerText=DropDownListStat.SelectedItem.Value;


                //xesub5.InnerText=DropDownListStat.SelectedItem.Text;


                xe1.AppendChild(xesub5);


                root.AppendChild(xe1);//添加到<Dvb>节点中


                xmlDoc.Save(fileName);


                Page.Response.Write("生成模版成功!");


            }


            catch




            ...{


                Page.Response.Write("生成模板失败!请检查路径是否正确,以及是否有写入权限。");


            }


        }




        private void btnChange_Click(object sender, System.EventArgs e)




        ...{


            try




            ...{


                XmlDocument xmlDoc = new XmlDocument();


                xmlDoc.Load(Server.MapPath("./Templates/Statistical_charts_types_templates.xml"));


                XmlNodeList nodeList=xmlDoc.SelectSingleNode("DVBAres").ChildNodes;//获取dbGuest节点的所有子节点


                foreach(XmlNode xn in nodeList)//遍历所有子节点




                ...{


                    XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型


            


                    XmlNodeList node = xe.GetElementsByTagName("TemplatesName");


                    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=="TemplatesName")//如果找到




                                ...{


                                    xe2.InnerText=this.tbNewTemplatesName.Text;//则修改


                                    break;//找到退出来就可以了


                                }


                            }


                            break;


                        }


                    }


                


                }


                xmlDoc.Save(Server.MapPath("./Templates/Statistical_charts_types_templates.xml"));


                Bind();


                Page.Response.Write("修改成功!");


            }


            catch




            ...{


                Page.Response.Write("你要查看的文件路径不对,请检查路径是否正确,以及是否有写入权限");


            }


        }




        private void btnQuery_Click(object sender, System.EventArgs e)




        ...{


            try




            ...{


                XmlDocument doc = new XmlDocument();


                doc.Load(Server.MapPath("./Templates/Statistical_charts_types_templates.xml"));


                TextBoxTemplatesName.Text = doc.SelectSingleNode("//Templates[TemplatesName='"+ddlName.SelectedItem.Text+"']").ChildNodes.Item(1).InnerText;


            }


            catch




            ...{


                Page.Response.Write("你要查看的文件路径不对,请检查路径是否正确");


            }


        }




        private void btnDelete_Click(object sender, System.EventArgs e)




        ...{


            


            


                try




                ...{


            


                    XmlDocument xmlDoc = new XmlDocument();


                    xmlDoc.Load(Server.MapPath("./Templates/Statistical_charts_types_templates.xml"));


                    XmlNodeList xnl=xmlDoc.SelectSingleNode("DVBAres").ChildNodes;


 


                    foreach(XmlNode xn in xnl)




                    ...{


                        XmlElement xe=(XmlElement)xn;


                        XmlNodeList node = xe.GetElementsByTagName("TemplatesName");




                        if(node.Count>0)




                        ...{


                            if(node[0].InnerText==ddlName.SelectedItem.Text)




                            ...{


                                xe.RemoveAll();//删除该节点的全部内容


                                break;


                            }


                        }        


                    


                    }


                    xmlDoc.Save(Server.MapPath("./Templates/Statistical_charts_types_templates.xml"));


                    Bind();        


                    Page.Response.Write("删除模版成功!");


                }


            


                catch




                ...{


                    Page.Response.Write("删除模板失败!请检查路径是否正确,以及模板库中是否还有模板.以及是否有写入权限。");


                }


            


            


        }










        


    }


}



 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息