C#中Xml文档的运用

来源:互联网 发布:算法统宗 pdf 下载 编辑:程序博客网 时间:2024/06/06 06:37
XmlDocument xdoc = new XmlDocument();         protected void Page_Load(object sender, EventArgs e)         {             #region             //XmlReaderSettings settings = new XmlReaderSettings();             //settings.IgnoreComments = true;//忽略Xml中的注释             //settings.IgnoreWhitespace = true;//忽略没必要的空白              //using (XmlReader reader = XmlReader.Create(Server.MapPath("books.xml"), settings))//第一个参数需要的是实路径             //{             //    int booknum = 0;             //    while (reader.Read())             //    {             //        if (reader.NodeType == XmlNodeType.Element)             //        {             //            if (reader.LocalName == "book")             //            {             //                booknum++;             //            }             //        }             //    }             //    Response.Write(booknum);             //}              //XmlWriterSettings settingsw=new XmlWriterSettings();//write的设置             //settingsw.Encoding=System.Text.Encoding.UTF8;//编码类型             //settingsw.Indent=true;             //using (XmlWriter writere = XmlWriter.Create(Server.MapPath("newbook.xml"), settingsw))             //{             //    writere.WriteStartDocument();//开始写版本以及链接              //    writere.WriteStartElement("books");//根节点              //    writere.WriteStartElement("book");//book节点开始              //    writere.WriteStartAttribute("id");//给book添加属性  属性名为id             //    writere.WriteValue("1");//写入属性值             //    writere.WriteEndAttribute();//属性编辑结束              //    writere.WriteStartElement("author");//author节点开始             //    writere.WriteString("乔布斯");//写入author节点内容             //    writere.WriteEndElement();//结束author节点              //    writere.WriteEndElement();//结束book节点              //    writere.WriteStartElement("book");//book节点开始             //    writere.WriteStartElement("author");//author节点开始             //    writere.WriteString("布鲁斯");//写入author节点内容             //    writere.WriteEndElement();//结束author节点             //    writere.WriteEndElement();//结束book节点              //    writere.WriteEndElement();//结束books节点             //    writere.WriteEndDocument();//结束             //}             #endregion             xdoc.Load(Server.MapPath("books.xml"));             if (!IsPostBack)             {                 XmlNodeList xlist = xdoc.GetElementsByTagName("name");//将标记为name的内容提取出来                 foreach (XmlNode item in xlist)//给前台的一个下拉菜单添加项                 {                     DropDownList1.Items.Add(item.InnerText);                 }              }             #region               //XmlNode nod = xdoc.DocumentElement.SelectSingleNode("book[name='"+DropDownList1.Text+"']");             //if (nod.LocalName == "author")             //    TextBox1.Text = nod.InnerText;             //if (nod.LocalName == "publisher")             //    TextBox2.Text = nod.InnerText;             //if (nod.LocalName == "date")             //    TextBox3.Text = nod.InnerText;             //if (nod.LocalName == "isbn")             //    TextBox4.Text = nod.InnerText;             //if (nod.LocalName == "price")             //    TextBox5.Text = nod.InnerText;             #endregion         }          protected void Button1_Click(object sender, EventArgs e)//显示         {             #region             //XmlDocument xdoc = new XmlDocument();             //xdoc.Load(Server.MapPath("books.xml"));             //XmlNodeList xlist = xdoc.GetElementsByTagName("name");             //foreach (XmlNode item in xlist)             //{             //    DropDownList1.Items.Add(item.InnerText);             //}             #endregion             XmlNode nod = xdoc.DocumentElement.SelectSingleNode("book[name='" + DropDownList1.Text + "']");//获取Xml文档中下拉菜单选中的那一组             foreach (XmlNode item in nod)//用一个循环把内容放到对应的TextBox里面             {                 TextBox1.Text = nod.ChildNodes.Item(0).InnerText;                 TextBox2.Text = nod.ChildNodes.Item(1).InnerText;                 TextBox3.Text = nod.ChildNodes.Item(2).InnerText;                 TextBox4.Text = nod.ChildNodes.Item(4).InnerText;                 TextBox5.Text = nod.ChildNodes.Item(5).InnerText;                 #region                 //if (nod.ChildNodes.Item(1) == "author")                 //    TextBox1.Text = item.InnerText;                 //if (nod.LocalName == "publisher")                 //    TextBox2.Text = item.InnerText;                 //if (nod.LocalName == "date")                 //    TextBox3.Text = item.InnerText;                 //if (nod.LocalName == "isbn")                 //    TextBox4.Text = item.InnerText;                 //if (nod.LocalName == "price")                 //    TextBox5.Text = item.InnerText;                 #endregion             }         }          protected void Button2_Click(object sender, EventArgs e)//移除         {             XmlNode nod = xdoc.DocumentElement.SelectSingleNode("book[name='" + DropDownList1.Text + "']");//获取Xml文档中下拉菜单选中的那一组             xdoc.DocumentElement.RemoveChild(nod);//移除Xml文档中的项             DropDownList1.Items.Remove(DropDownList1.SelectedItem);//移除下拉菜单中的项             xdoc.Save(Server.MapPath("books.xml"));//将修改完的Xml存到Xml文档         }          protected void Button3_Click(object sender, EventArgs e)//修改         {             XmlNode nod = xdoc.DocumentElement.SelectSingleNode("book[name='" + DropDownList1.Text + "'");//获取Xml文档中下拉菜单选中的那一组             nod.SelectSingleNode("author").InnerText = TextBox1.Text;//将对应的TextBox中的内容放到Xml文档的对应标记里面             nod.SelectSingleNode("publisher").InnerText = TextBox2.Text;             nod.SelectSingleNode("date").InnerText = TextBox3.Text;             nod.SelectSingleNode("isbn").InnerText = TextBox4.Text;             nod.SelectSingleNode("price").InnerText = TextBox5.Text;             xdoc.Save(Server.MapPath("books.xml"));//保存Xml文档             //Page.RegisterClientScriptBlock("key1", "<script>alert('ok!');</script>");             this.ClientScript.RegisterClientScriptBlock(this.GetType(),"key2","<script>alert('ok!');</script>");//插入脚本,一个小提示             #region             //DropDownList1.Items.Clear();             //XmlNodeList xlist = xdoc.GetElementsByTagName("name");             //foreach (XmlNode item in xlist)             //{             //    DropDownList1.Items.Add(item.InnerText);             //}             #endregion         }          protected void Button4_Click(object sender, EventArgs e)//添加         {             XmlElement bo = xdoc.CreateElement("book");//创建新的标记book,并将其放到bo里面             XmlElement au = xdoc.CreateElement("author");//创建新的标记au,并将其放到au里面             au.AppendChild(xdoc.CreateTextNode(TextBox1.Text));//给标记au增添内容             XmlElement pu = xdoc.CreateElement("publisher");             pu.AppendChild(xdoc.CreateTextNode(TextBox2.Text));             XmlElement na = xdoc.CreateElement("name");             na.AppendChild(xdoc.CreateTextNode(TextBox6.Text));             XmlElement da = xdoc.CreateElement("date");             da.AppendChild(xdoc.CreateTextNode(TextBox3.Text));             XmlElement si = xdoc.CreateElement("isbn");             si.AppendChild(xdoc.CreateTextNode(TextBox4.Text));             XmlElement pr = xdoc.CreateElement("price");             pr.AppendChild(xdoc.CreateTextNode(TextBox5.Text));             bo.AppendChild(au);//将对象节点对象au放到节点对象bo里面             bo.AppendChild(pu);             bo.AppendChild(na);             bo.AppendChild(da);             bo.AppendChild(si);             bo.AppendChild(pr);             xdoc.DocumentElement.AppendChild(bo);//将包含au、pu等节点的bo节点放到xdoc里面             this.DropDownList1.Items.Add(this.TextBox6.Text);//给下拉菜单增添项             xdoc.Save(Server.MapPath("books.xml"));//保存             ClientScript.RegisterClientScriptBlock(this.GetType(),"key3","<script type='text/javascript'>alert('ok!');</script>");         }

原创粉丝点击