這篇文章主要介紹XML如何實(shí)現(xiàn)增、刪、改和查操作,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),梅江企業(yè)網(wǎng)站建設(shè),梅江品牌網(wǎng)站建設(shè),網(wǎng)站定制,梅江網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,梅江網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
1.已知有一個(gè)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");//創(chuàng)建一個(gè) 節(jié)點(diǎn) xe1.SetAttribute("genre","李贊紅");//設(shè)置該節(jié)點(diǎn)genre屬性 xe1.SetAttribute("ISBN","2-3631-4");//設(shè)置該節(jié)點(diǎn)ISBN屬性 XmlElement xesub1=xmlDoc.CreateElement("title"); xesub1.InnerText="CS從入門到精通";//設(shè)置文本節(jié)點(diǎn) xe1.AppendChild(xesub1);//添加到 節(jié)點(diǎn)中 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);//添加到 節(jié)點(diǎn)中 xmlDoc.Save("bookstore.xml");
//================
結(jié)果為:
Oberon's Legacy Corets, Eva 5.95 CS從入門到精通 候捷 58.3
2、修改節(jié)點(diǎn):將genre屬性值為“李贊紅“的節(jié)點(diǎn)的genre值改為“update李贊紅”,將該節(jié)點(diǎn)的子節(jié)點(diǎn)
XmlNodeList nodeList=xmlDoc.SelectSingleNode("bookstore").ChildNodes;//獲取bookstore節(jié)點(diǎn)的所有子節(jié)點(diǎn) foreach(XmlNode xn in nodeList)//遍歷所有子節(jié)點(diǎn) { XmlElement xe=(XmlElement)xn;//將子節(jié)點(diǎn)類型轉(zhuǎn)換為XmlElement類型 if(xe.GetAttribute("genre")=="李贊紅")//如果genre屬性值為“李贊紅” { xe.SetAttribute("genre","update李贊紅");//則修改該屬性為“update李贊紅” XmlNodeList nls=xe.ChildNodes;//繼續(xù)獲取xe子節(jié)點(diǎn)的所有子節(jié)點(diǎn) foreach(XmlNode xn1 in nls)//遍歷 { XmlElement xe2=(XmlElement)xn1;//轉(zhuǎn)換類型 if(xe2.Name=="author")//如果找到 { xe2.InnerText="亞勝";//則修改 break;//找到退出來(lái)就可以了 } } break; } } xmlDoc.Save("bookstore.xml");//保存。
//=================
最后結(jié)果為:
Oberon's Legacy Corets, Eva 5.95 CS從入門到精通 亞勝 58.3
3、刪除
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é)點(diǎn)的全部?jī)?nèi)容 } } xmlDoc.Save("bookstore.xml");
//====================
最后結(jié)果為:
Oberon's Legacy Corets, Eva 5.95
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é)點(diǎn)點(diǎn)文本 } }
2前臺(tái)代碼:html
<%@ Page language="c#" Codebehind="Main.aspx.cs" AutoEventWireup="false" Inherits="DsAndXML.OpXMLFile.Main" %>Main
XML文件dbGuest.xml
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 { /// 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 /// Main 的摘要說(shuō)明。 /// 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) { // 在此處放置用戶代碼以初始化頁(yè)面 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;//繼續(xù)獲取xe子節(jié)點(diǎn)的所有子節(jié)點(diǎn) foreach(XmlNode xn1 in nls)//遍歷 { XmlElement xe2=(XmlElement)xn1;//轉(zhuǎn)換類型 if(xe2.Name=="Email")//如果找到 { xe2.InnerText=tbNewMail.Text;//則修改 break;//找到退出來(lái)就可以了 } } 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é)點(diǎn)的全部?jī)?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");//查找 XmlElement xe1=xmlDoc.CreateElement("User");//創(chuàng)建一個(gè) 節(jié)點(diǎn) XmlElement xesub1=xmlDoc.CreateElement("Name"); xesub1.InnerText="Guset";//設(shè)置文本節(jié)點(diǎn) xe1.AppendChild(xesub1);//添加到 節(jié)點(diǎn)中 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);//添加到 節(jié)點(diǎn)中 xmlDoc.Save(Server.MapPath(".\\db\\dbGuest.xml")); Bind(); } } }
以上是“XML如何實(shí)現(xiàn)增、刪、改和查操作”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!