电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

XML 增、刪、改和查示例

瀏覽:224日期:2022-06-04 08:23:46

1.已知有一個XML文件(bookstore.xml)如下:


<?xml version="1.0" encoding="gb2312"?>
<bookstore>
  <book genre="fantasy" ISBN="2-3631-4">
    <title>Oberon"s Legacy</title>
    <author>Corets, Eva</author>
    <price>5.95</price>
  </book>
</bookstore>



  1、往<bookstore>節(jié)點中插入一個<book>節(jié)點:


   XmlDocument xmlDoc=new XmlDocument();
   xmlDoc.Load("bookstore.xml");
   XmlNode root=xmlDoc.SelectSingleNode("bookstore");//查找<bookstore>
   XmlElement xe1=xmlDoc.CreateElement("book");//創(chuàng)建一個<book>節(jié)點
   xe1.SetAttribute("genre","李贊紅");//設(shè)置該節(jié)點genre屬性
   xe1.SetAttribute("ISBN","2-3631-4");//設(shè)置該節(jié)點ISBN屬性

   XmlElement xesub1=xmlDoc.CreateElement("title");
   xesub1.InnerText="CS從入門到精通";//設(shè)置文本節(jié)點
   xe1.AppendChild(xesub1);//添加到<book>節(jié)點中
   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);//添加到<bookstore>節(jié)點中
   xmlDoc.Save("bookstore.xml");


  //================
  結(jié)果為:


<?xml version="1.0" encoding="gb2312"?>
<bookstore>
  <book genre="fantasy" ISBN="2-3631-4">
    <title>Oberon"s Legacy</title>
    <author>Corets, Eva</author>
    <price>5.95</price>
  </book>
  <book genre="李贊紅" ISBN="2-3631-4">
    <title>CS從入門到精通</title>
    <author>候捷</author>
    <price>58.3</price>
  </book>
</bookstore>


2、修改節(jié)點:將genre屬性值為“李贊紅“的節(jié)點的genre值改為“update李贊紅”,將該節(jié)點的子節(jié)點<author>的文本修改為“亞勝”。


    XmlNodeList nodeList=xmlDoc.SelectSingleNode("bookstore").ChildNodes;//獲取bookstore節(jié)點的所有子節(jié)點
   foreach(XmlNode xn in nodeList)//遍歷所有子節(jié)點
   {
    XmlElement xe=(XmlElement)xn;//將子節(jié)點類型轉(zhuǎn)換為XmlElement類型
    if(xe.GetAttribute("genre")=="李贊紅")//如果genre屬性值為“李贊紅”
    {
     xe.SetAttribute("genre","update李贊紅");//則修改該屬性為“update李贊紅”

     XmlNodeList nls=xe.ChildNodes;//繼續(xù)獲取xe子節(jié)點的所有子節(jié)點
     foreach(XmlNode xn1 in nls)//遍歷
     {
      XmlElement xe2=(XmlElement)xn1;//轉(zhuǎn)換類型
      if(xe2.Name=="author")//如果找到
      {
       xe2.InnerText="亞勝";//則修改
       break;//找到退出來就可以了
      }
     }
     break;
    }
   }

   xmlDoc.Save("bookstore.xml");//保存。



  //=================

  最后結(jié)果為:


<?xml version="1.0" encoding="gb2312"?>
<bookstore>
  <book genre="fantasy" ISBN="2-3631-4">
    <title>Oberon"s Legacy</title>
    <author>Corets, Eva</author>
    <price>5.95</price>
  </book>
  <book genre="update李贊紅" ISBN="2-3631-4">
    <title>CS從入門到精通</title>
    <author>亞勝</author>
    <price>58.3</price>
  </book>
</bookstore>



  3、刪除 <book genre="fantasy" ISBN="2-3631-4">節(jié)點的genre屬性,刪除 <book genre="update李贊紅" ISBN="2-3631-4">節(jié)點。


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();//刪除該節(jié)點的全部內(nèi)容
    }
   }
   xmlDoc.Save("bookstore.xml");


  //====================

  最后結(jié)果為:


<?xml version="1.0" encoding="gb2312"?>
<bookstore>
  <book ISBN="2-3631-4">
    <title>Oberon"s Legacy</title>
    <author>Corets, Eva</author>
    <price>5.95</price>
  </book>
  <book>
  </book>
</bookstore>
 4、顯示所有數(shù)據(jù)。


 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);//顯示子節(jié)點點文本
    }
   }


留做參考,原文地址http://blog.yesky.com/75/richsee/1211075.shtml

2前臺代碼:html

<%@ Page language="c#" Codebehind="Main.aspx.cs" AutoEventWireup="false" Inherits="DsAndXML.OpXMLFile.Main" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
    <HEAD>
        <title>Main</title>
        <meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
        <meta name="CODE_LANGUAGE" Content="C#">
        <meta name="vs_defaultClientScript" content="JavaScript">
        <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    </HEAD>
    <body MS_POSITIONING="GridLayout">
        <form id="Main" method="post" runat="server">
            <FONT face="宋體">
                <asp:DataGrid id="dgShow" style="Z-INDEX: 100; LEFT: 113px; POSITION: absolute; TOP: 32px" runat="server" Width="480px" Height="178px"></asp:DataGrid>
                <asp:Label id="Label3" style="Z-INDEX: 111; LEFT: 187px; POSITION: absolute; TOP: 383px" runat="server" Width="120px" Height="21px">新郵件地址:</asp:Label>
                <asp:Label id="Label2" style="Z-INDEX: 107; LEFT: 333px; POSITION: absolute; TOP: 274px" runat="server" Width="83px" Height="21px">郵件地址:</asp:Label>
                <asp:Button id="btnAdd" style="Z-INDEX: 104; LEFT: 298px; POSITION: absolute; TOP: 324px" runat="server" Text="添加"></asp:Button>
                <asp:Button id="btnDelete" style="Z-INDEX: 103; LEFT: 199px; POSITION: absolute; TOP: 324px" runat="server" Text="刪除"></asp:Button>
                <asp:Button id="btnChange" style="Z-INDEX: 102; LEFT: 102px; POSITION: absolute; TOP: 382px" runat="server" Text="修改"></asp:Button>
                <asp:Button id="btnQuery" style="Z-INDEX: 101; LEFT: 101px; POSITION: absolute; TOP: 324px" runat="server" Text="查詢"></asp:Button>
                <asp:DropDownList id="ddlName" style="Z-INDEX: 105; LEFT: 210px; POSITION: absolute; TOP: 274px" runat="server" Width="95px" Height="78px"></asp:DropDownList>
                <asp:Label id="Label1" style="Z-INDEX: 106; LEFT: 100px; POSITION: absolute; TOP: 274px" runat="server" Width="83px" Height="21px">姓名:</asp:Label>
                <asp:Label id="lbEmail" style="Z-INDEX: 109; LEFT: 459px; POSITION: absolute; TOP: 274px" runat="server" Width="231px"></asp:Label>
                <asp:TextBox id="tbNewMail" style="Z-INDEX: 110; LEFT: 330px; POSITION: absolute; TOP: 381px" runat="server" Width="208px" Height="26px"></asp:TextBox></FONT>
        </form>
    </body>
</HTML>XML文件dbGuest.xml
<?xml version="1.0" standalone="yes"?>
<dbGuest>
  <User>
    <Name>aaa</Name>
    <City>shanghai</City>
    <Email>aaa@263.net</Email>
    <Message>ok</Message>
    <STime>2004-07-12T00:00:00.0000000+08:00</STime>
  </User>
  <User>
    <Name>shaoazhd</Name>
    <City>beijing</City>
    <Email>sss@22.net</Email>
    <Message>afsa</Message>
    <STime>2004-7-12 15:07:39</STime>
  </User>
  <User>
    <Name>Guset</Name>
    <City>上海</City>
    <Email>sfaf@22.net</Email>
  </User>
  <User>
    <Name>Guset</Name>
    <City>上海</City>
    <Email>ss@22.net</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 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;i<elemList.Count;i++)
             ddlName.Items.Add(elemList[i].InnerXml);
            
        }

        Web Form Designer generated code#region Web Form Designer generated code
        override protected void OnInit(EventArgs e)
        {
            //
            // CODEGEN:該調(diào)用是 ASP.NET Web 窗體設(shè)計器所必需的。
            //
            InitializeComponent();
            base.OnInit(e);
        }
        
        /**//// <summary>
        /// 設(shè)計器支持所需的方法 - 不要使用代碼編輯器修改
        /// 此方法的內(nèi)容。
        /// </summary>
        private void InitializeComponent()
        {    
            this.btnQuery.Click += new System.EventHandler(this.btnQuery_Click);
            this.btnChange.Click += new System.EventHandler(this.btnChange_Click);
            this.btnDelete.Click += new System.EventHandler(this.btnDelete_Click);
            this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
            this.Load += new System.EventHandler(this.Page_Load);

        }
        #endregion

        private void btnQuery_Click(object sender, System.EventArgs e)
        {
            XmlDocument doc = new XmlDocument();
            doc.Load(Server.MapPath(".\\db\\dbGuest.xml"));
            lbEmail.Text = doc.SelectSingleNode("http://User[Name=""+ddlName.SelectedItem.Text+""]").ChildNodes.Item(2).InnerText;
         
        }

        private 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節(jié)點的所有子節(jié)點
            foreach(XmlNode xn in nodeList)//遍歷所有子節(jié)點
            {
                XmlElement xe=(XmlElement)xn;//將子節(jié)點類型轉(zhuǎn)換為XmlElement類型
            
                XmlNodeList node = xe.GetElementsByTagName("Name");
                if(node.Count>0)
                {

                    if(node[0].InnerText==ddlName.SelectedItem.Text)
                    {
                        XmlNodeList nls=xe.ChildNodes;//繼續(xù)獲取xe子節(jié)點的所有子節(jié)點
                        foreach(XmlNode xn1 in nls)//遍歷
                        {
                            XmlElement xe2=(XmlElement)xn1;//轉(zhuǎn)換類型
                            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();//刪除該節(jié)點的全部內(nèi)容
                    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");//查找<dbGuest>
            XmlElement xe1=xmlDoc.CreateElement("User");//創(chuàng)建一個<User>節(jié)點
            XmlElement xesub1=xmlDoc.CreateElement("Name");
            xesub1.InnerText="Guset";//設(shè)置文本節(jié)點
            xe1.AppendChild(xesub1);//添加到<User>節(jié)點中
            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>節(jié)點中
            xmlDoc.Save(Server.MapPath(".\\db\\dbGuest.xml"));
            Bind();
        }
    }
}
標簽: XML/RSS
相關(guān)文章:
主站蜘蛛池模板: 防渗膜厂家|养殖防渗膜|水产养殖防渗膜-泰安佳路通工程材料有限公司 | 钢格板_钢格栅_格栅板_钢格栅板 - 安平县鑫拓钢格栅板厂家 | 大立教育官网-一级建造师培训-二级建造师培训-造价工程师-安全工程师-监理工程师考试培训 | 灰板纸、灰底白、硬纸板等纸品生产商-金泊纸业 | 长沙一级消防工程公司_智能化弱电_机电安装_亮化工程专业施工承包_湖南公共安全工程有限公司 | 干洗加盟网-洗衣店品牌排行-干洗设备价格-干洗连锁加盟指南 | 啤酒设备-小型啤酒设备-啤酒厂设备-济南中酿机械设备有限公司 | 潍坊大集网-潍坊信息港-潍坊信息网 | 振动时效_振动时效仪_超声波冲击设备-济南驰奥机电设备有限公司 北京宣传片拍摄_产品宣传片拍摄_宣传片制作公司-现像传媒 | 安平县鑫川金属丝网制品有限公司,防风抑尘网,单峰防风抑尘,不锈钢防风抑尘网,铝板防风抑尘网,镀铝锌防风抑尘网 | ISO9001认证咨询_iso9001企业认证代理机构_14001|18001|16949|50430认证-艾世欧认证网 | 精密模具-双色注塑模具加工-深圳铭洋宇通 | 喷漆房_废气处理设备-湖北天地鑫环保设备有限公司 | 自动配料系统_称重配料控制系统厂家 | 昆明网络公司|云南网络公司|昆明网站建设公司|昆明网页设计|云南网站制作|新媒体运营公司|APP开发|小程序研发|尽在昆明奥远科技有限公司 | 中央空调温控器_风机盘管温控器_智能_液晶_三速开关面板-中央空调温控器厂家 | 电竞学校_电子竞技培训学校学院-梦竞未来电竞学校官网 | 南京种植牙医院【官方挂号】_南京治疗种植牙医院那个好_南京看种植牙哪里好_南京茀莱堡口腔医院 尼龙PA610树脂,尼龙PA612树脂,尼龙PA1010树脂,透明尼龙-谷骐科技【官网】 | 扬州汇丰仪表有限公司 | 广州展览制作工厂—[优简]直营展台制作工厂_展会搭建资质齐全 | 煤矿人员精确定位系统_矿用无线通信系统_煤矿广播系统 | 钢丝绳探伤仪-钢丝绳检测仪-钢丝绳探伤设备-洛阳泰斯特探伤技术有限公司 | 安徽免检低氮锅炉_合肥燃油锅炉_安徽蒸汽发生器_合肥燃气锅炉-合肥扬诺锅炉有限公司 | 心肺复苏模拟人|医学模型|急救护理模型|医学教学模型上海康人医学仪器设备有限公司 | 直齿驱动-新型回转驱动和回转支承解决方案提供商-不二传动 | 自动化生产线-自动化装配线-直流电机自动化生产线-东莞市慧百自动化有限公司 | 细沙回收机-尾矿干排脱水筛设备-泥石分离机-建筑垃圾分拣机厂家-青州冠诚重工机械有限公司 | AGV叉车|无人叉车|AGV智能叉车|AGV搬运车-江西丹巴赫机器人股份有限公司 | 吉林污水处理公司,长春工业污水处理设备,净水设备-长春易洁环保科技有限公司 | 北京公寓出租网-北京酒店式公寓出租平台| 防爆型气象站_农业气象站_校园气象站_农业四情监测系统「山东万象环境科技有限公司」 | 清水-铝合金-建筑模板厂家-木模板价格-铝模板生产「五棵松」品牌 | 防爆电机生产厂家,YBK3电动机,YBX3系列防爆电机,YBX4节防爆电机--河南省南洋防爆电机有限公司 | 民用音响-拉杆音响-家用音响-ktv专用音响-万昌科技 | 七维官网-水性工业漆_轨道交通涂料_钢结构漆 | 电池高低温试验箱-气态冲击箱-双层电池防爆箱|简户百科 | 2025福建平潭岛旅游攻略|蓝眼泪,景点,住宿攻略-趣平潭网 | 单柱拉力机-橡胶冲片机-哑铃裁刀-江都轩宇试验机械厂 | 河南中整光饰机械有限公司-抛光机,去毛刺抛光机,精密镜面抛光机,全自动抛光机械设备 | 高楼航空障碍灯厂家哪家好_航空障碍灯厂家_广州北斗星障碍灯有限公司 | 标准光源箱|对色灯箱|色差仪|光泽度仪|涂层测厚仪_HRC大品牌生产厂家 |