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

c#對(duì)xml增刪改查操作示例

 更新時(shí)間:2014年01月06日 13:55:51   作者:  
本文主要介紹c#對(duì)xml增刪改查操作的示例,大家參考使用吧

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

復(fù)制代碼 代碼如下:

<?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é)點(diǎn)中插入一個(gè)<book>節(jié)點(diǎn)

復(fù)制代碼 代碼如下:

XmlDocument xmlDoc=new XmlDocument();
xmlDoc.Load("bookstore.xml");
XmlNode root=xmlDoc.SelectSingleNode("bookstore");//查找<bookstore>
XmlElement xe1=xmlDoc.CreateElement("book");//創(chuàng)建一個(gè)<book>節(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從入門(mén)到精通";//設(shè)置文本節(jié)點(diǎn)
xe1.AppendChild(xesub1);//添加到<book>節(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);//添加到<bookstore>節(jié)點(diǎn)中
xmlDoc.Save("bookstore.xml");

結(jié)果為:

復(fù)制代碼 代碼如下:

<?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從入門(mén)到精通</title>
<author>候捷</author>
<price>58.3</price>
</book>
</bookstore>

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

復(fù)制代碼 代碼如下:

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é)果為:

復(fù)制代碼 代碼如下:

<?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從入門(mén)到精通</title>
<author>亞勝</author>
<price>58.3</price>
</book>
</bookstore>


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

復(fù)制代碼 代碼如下:

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é)果為:

復(fù)制代碼 代碼如下:

<?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ù)

復(fù)制代碼 代碼如下:

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)文本
}
}

相關(guān)文章

  • C#獲取客戶端相關(guān)信息實(shí)例總結(jié)

    C#獲取客戶端相關(guān)信息實(shí)例總結(jié)

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

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

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

    關(guān)于C# 類的封裝詳情

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

    簡(jiǎn)單聊聊C#的線程本地存儲(chǔ)TLS到底是什么

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

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

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

    C#使用PuppeteerSharp庫(kù)的示例代碼

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

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

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

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

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

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

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

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

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

最新評(píng)論

乐陵市| 南平市| 潮州市| 九江县| 龙口市| 田东县| 云南省| 青河县| 左贡县| 苍山县| 法库县| 南投县| 青神县| 鄂伦春自治旗| 治多县| 元谋县| 宜昌市| 沁阳市| 松原市| 会泽县| 武义县| 美姑县| 安吉县| 南溪县| 遵义县| 泰宁县| 常熟市| 汝南县| 合阳县| 张北县| 博兴县| 崇州市| 榆林市| 广水市| 汝城县| 锡林浩特市| 康保县| 揭东县| 桓台县| 清流县| 罗江县|