国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > XML > 正文

C#操作xml文件入門

2024-09-05 20:56:00
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

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

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從入門到精通";//設(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é)果為:

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

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

<?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é)點(diǎn)的genre屬性,刪除 <book genre="update李贊紅" isbn="2-3631-4">節(jié)點(diǎn)。

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

<?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é)點(diǎn)點(diǎn)文本
}
}



收集最實(shí)用的網(wǎng)頁(yè)特效代碼!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 平原县| 房产| 永清县| 承德县| 茌平县| 东台市| 教育| 敦化市| 渝中区| 淳化县| 香河县| 湾仔区| 通道| 台中市| 乌鲁木齐县| 东至县| 嘉祥县| 昌平区| 沐川县| 凤城市| 习水县| 资溪县| 伊宁市| 泰来县| 谢通门县| 蓬安县| 阆中市| 呈贡县| 凤凰县| 马山县| 石首市| 玉林市| 辉县市| 柘城县| 鱼台县| 正镶白旗| 马关县| 莎车县| 齐齐哈尔市| 东港市| 朝阳市|