栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > 其他 > xml语言

XML 增、删、改和查示例

xml语言 更新时间:发布时间: 百科书网 趣学号
1.已知有一个XML文件(bookstore.xml)如下:

      Oberon's Legacy    Corets, Eva    5.95  

1、往节点中插入一个节点:

   Xmldocument xmlDoc=new Xmldocument();   xmlDoc.Load("bookstore.xml");   XmlNode root=xmlDoc.SelectSingleNode("bookstore");//查找   XmlElement xe1=xmlDoc.CreateElement("book");//创建一个节点   xe1.SetAttribute("genre","李赞红");//设置该节点genre属性   xe1.SetAttribute("ISBN","2-3631-4");//设置该节点ISBN属性   XmlElement xesub1=xmlDoc.CreateElement("title");   xesub1.InnerText="CS从入门到精通";//设置文本节点   xe1.AppendChild(xesub1);//添加到节点中   XmlElement xesub2=xmlDoc.CreateElement("author");   xesub2.InnerText="候捷";   xe1.AppendChild(xesub2);   XmlElement xesub3=xmlDoc.CreateElement("price");   xesub3.InnerText="58.3";   xe1.AppendChild(xesub3);   root.AppendChild(xe1);//添加到节点中   xmlDoc.Save("bookstore.xml");

//================
结果为:

      Oberon's Legacy    Corets, Eva    5.95        CS从入门到精通    候捷    58.3  

2、修改节点:将genre属性值为“李赞红“的节点的genre值改为“update李赞红”,将该节点的子节点的文本修改为“亚胜”。

  XmlNodeList nodeList=xmlDoc.SelectSingleNode("bookstore").ChildNodes;//获取bookstore节点的所有子节点   foreach(XmlNode xn in nodeList)//遍历所有子节点   {    XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型    if(xe.GetAttribute("genre")=="李赞红")//如果genre属性值为“李赞红”    {     xe.SetAttribute("genre","update李赞红");//则修改该属性为“update李赞红”     XmlNodeList nls=xe.ChildNodes;//继续获取xe子节点的所有子节点     foreach(XmlNode xn1 in nls)//遍历     {      XmlElement xe2=(XmlElement)xn1;//转换类型      if(xe2.Name=="author")//如果找到      {       xe2.InnerText="亚胜";//则修改       break;//找到退出来就可以了      }     }     break;    }   }   xmlDoc.Save("bookstore.xml");//保存。

//================= 最后结果为:

      Oberon's Legacy    Corets, Eva    5.95        CS从入门到精通    亚胜    58.3  

3、删除 节点的genre属性,删除 节点。

XmlNodeList xnl=xmlDoc.SelectSingleNode("bookstore").ChildNodes;   foreach(XmlNode xn in xnl)   {    XmlElement xe=(XmlElement)xn;
    if(xe.GetAttribute("genre")=="fantasy")    {     xe.RemoveAttribute("genre");//删除genre属性    }    else if(xe.GetAttribute("genre")=="update李赞红")    {     xe.RemoveAll();//删除该节点的全部内容    }   }   xmlDoc.Save("bookstore.xml");

//==================== 最后结果为:

      Oberon's Legacy    Corets, Eva    5.95      

4、显示所有数据。

 XmlNode xn=xmlDoc.SelectSingleNode("bookstore");   XmlNodeList xnl=xn.ChildNodes;   foreach(XmlNode xnf in xnl)   {    XmlElement xe=(XmlElement)xnf;    Console.WriteLine(xe.GetAttribute("genre"));//显示属性值    Console.WriteLine(xe.GetAttribute("ISBN"));    XmlNodeList xnf1=xe.ChildNodes;    foreach(XmlNode xn2 in xnf1)    {     Console.WriteLine(xn2.InnerText);//显示子节点点文本    }   }

2前台代码:html

<%@ Page language="c#" Codebehind="Main.aspx.cs" AutoEventWireup="false" Inherits="DsAndXML.OpXMLFile.Main" %>            Main                                                
新邮件地址: 邮件地址: 姓名:

XML文件dbGuest.xml

      aaa    shanghai    aaa@263.net    ok    2004-07-12T00:00:00.0000000+08:00        shaoazhd    beijing    sss@22.net    afsa    2004-7-12 15:07:39        Guset    上海    sfaf@22.net        Guset    上海    ss@22.net  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{    ///     /// Main 的摘要说明。    ///     public class Main : System.Web.UI.Page    {        protected System.Web.UI.WebControls.Button btnQuery;        protected System.Web.UI.WebControls.Button btnChange;        protected System.Web.UI.WebControls.Button btnDelete;        protected System.Web.UI.WebControls.Button btnAdd;        protected System.Web.UI.WebControls.DropDownList ddlName;        protected System.Web.UI.WebControls.Label Label1;        protected System.Web.UI.WebControls.Label Label2;        protected System.Web.UI.WebControls.Label lbEmail;        protected System.Web.UI.WebControls.TextBox tbNewMail;        protected System.Web.UI.WebControls.Label Label3;        protected System.Web.UI.WebControls.DataGrid dgShow;            private 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;i0)                {                    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();        }        private 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();        }        private void btnAdd_Click(object sender, System.EventArgs e)        {            Xmldocument xmlDoc = new Xmldocument();            xmlDoc.Load(Server.MapPath(".\db\dbGuest.xml"));            XmlNode root=xmlDoc.SelectSingleNode("dbGuest");//查找            XmlElement xe1=xmlDoc.CreateElement("User");//创建一个节点            XmlElement xesub1=xmlDoc.CreateElement("Name");            xesub1.InnerText="Guset";//设置文本节点            xe1.AppendChild(xesub1);//添加到节点中            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);//添加到节点中            xmlDoc.Save(Server.MapPath(".\db\dbGuest.xml"));            Bind();        }    }}

以上就是XML 增、删、改和查示例的内容,更多相关内容请关注PHP中文网(www.iotsi.net)!

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/794728.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号