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","李贊紅");//設置該節(jié)點genre屬性
- xe1.SetAttribute("ISBN","2-3631-4");//設置該節(jié)點ISBN屬性
- XmlElement xesub1=xmlDoc.CreateElement("title");
- xesub1.InnerText="CS從入門到精通";//設置文本節(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文件實例結果為:
- ﹤?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é)點類型轉換為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;
- //轉換類型
- if(xe2.Name=="author")//如果找到
- {
- xe2.InnerText="亞勝";//則修改
- break;//找到退出來就可以了
- }
- }
- break;
- }
- }
- xmlDoc.Save("bookstore.xml");//保存。
- //=================
C#操作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﹥
- ﹤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é)點的全部內容
- }
- }
- xmlDoc.Save("bookstore.xml");
- //====================
C#操作xml文件實例***結果為:
- ﹤?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、
顯示所有數據。
- 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文件實例的基本內容就向你介紹到這里,希望對你了解和學習C#操作xml文件有所幫助。
【編輯推薦】