C#操作xml文件實例詳解
C#操作xml文件實例是如何的呢?讓我們先看看問題:
已知有一個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﹥
 
C#操作xml文件實例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");
 - //================
 
C#操作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﹥
 
C#操作xml文件實例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");//保存。
 - //=================
 
C#操作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﹥
 
C#操作xml文件實例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");
 - //====================
 
C#操作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﹥
 
C#操作xml文件實例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é)點點文本
 - }
 - }
 
C#操作xml文件實例的基本內(nèi)容就向你介紹到這里,希望對你了解和學(xué)習(xí)C#操作xml文件有所幫助。
【編輯推薦】















 
 
 
 
 
 
 