最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c#對xml增刪改查操作示例

 更新時間:2014年01月06日 13:55:51   作者:  
本文主要介紹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>

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");

結果為:

復制代碼 代碼如下:

<?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é)點類型轉換為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");//保存。

最后結果為:

復制代碼 代碼如下:

<?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é)點的全部內容
}
}
xmlDoc.Save("bookstore.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>

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#獲取客戶端相關信息實例總結

    C#獲取客戶端相關信息實例總結

    這篇文章主要介紹了C#獲取客戶端相關信息的方法,以實例形式總結了C#獲取客戶端IP地址、網(wǎng)絡連接、硬件信息等相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-09-09
  • C#中使用Socket獲取網(wǎng)頁源代碼的代碼

    C#中使用Socket獲取網(wǎng)頁源代碼的代碼

    C#使用Socket獲取網(wǎng)頁源代碼的代碼,需要的朋友可以參考下。
    2010-12-12
  • 關于C# 類的封裝詳情

    關于C# 類的封裝詳情

    C#中可使用類來達到數(shù)據(jù)封裝的效果,這樣就可以使數(shù)據(jù)與方法封裝成單一元素,以便于通過,接下來小編將為大家詳細介紹,需要的朋友可以參考一下
    2021-10-10
  • 簡單聊聊C#的線程本地存儲TLS到底是什么

    簡單聊聊C#的線程本地存儲TLS到底是什么

    C#的ThreadStatic是假的,因為C#完全是由CLR(C++)承載的,言外之意C#的線程本地存儲,用的就是用C++運行時提供的 __declspec(thread)或__thread來虛構的一套玩法,下面我們就來深入講講C#的線程本地存儲TLS到底是什么吧
    2024-01-01
  • C#中out參數(shù)、ref參數(shù)與值參數(shù)的用法及區(qū)別

    C#中out參數(shù)、ref參數(shù)與值參數(shù)的用法及區(qū)別

    這篇文章主要給大家介紹了關于C#中out參數(shù)、ref參數(shù)與值參數(shù)的用法及區(qū)別的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-09-09
  • C#使用PuppeteerSharp庫的示例代碼

    C#使用PuppeteerSharp庫的示例代碼

    PuppeteerSharp 是一個用于在 .NET 平臺上控制無頭(Headless) Chrome 瀏覽器的庫,本文主要為大家詳細介紹了C#中使用PuppeteerSharp庫的工具類,需要的可以了解下
    2023-12-12
  • Unity實現(xiàn)紅酒識別的示例代碼

    Unity實現(xiàn)紅酒識別的示例代碼

    本文主要介紹了如何通過Unity實現(xiàn)紅酒識別,可以實現(xiàn)識別圖像中的紅酒標簽,返回紅酒名稱、國家、產區(qū)、酒莊、類型、糖分、葡萄品種、酒品描述等信息,感興趣的可以學習一下
    2022-02-02
  • C#在復雜多線程環(huán)境下使用讀寫鎖同步寫入文件

    C#在復雜多線程環(huán)境下使用讀寫鎖同步寫入文件

    這篇文章介紹了C#在復雜多線程環(huán)境下使用讀寫鎖同步寫入文件的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • C# WebApi 接口返回值不困惑:返回值類型詳解

    C# WebApi 接口返回值不困惑:返回值類型詳解

    這篇文章主要介紹了C# WebApi 接口返回值不困惑:返回值類型詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • C#實現(xiàn)自由組合本地緩存、分布式緩存和數(shù)據(jù)查詢

    C#實現(xiàn)自由組合本地緩存、分布式緩存和數(shù)據(jù)查詢

    這篇文章介紹了C#實現(xiàn)本地緩存、分布式緩存和數(shù)據(jù)查詢的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07

最新評論

赣榆县| 福州市| 庐江县| 重庆市| 淳安县| 时尚| 米易县| 宁明县| 太白县| 玉环县| 红桥区| 漳浦县| 隆尧县| 平原县| 伊宁市| 略阳县| 吴堡县| 卢湾区| 武乡县| 淅川县| 宜兰县| 万宁市| 锦州市| 克东县| 尼玛县| 普陀区| 巩义市| 聊城市| 土默特右旗| 常州市| 华宁县| 上虞市| 射洪县| 化德县| 崇阳县| 阿巴嘎旗| 新丰县| 济南市| 凭祥市| 泽州县| 民乐县|