会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
.net技术研究
主要研究html5,web.net
博客园
首页
新随笔
联系
订阅
管理
c#xml 操作
<?
xml version="1.0" encoding="UTF-8"
?>
<
books
>
<
book
>
<
name
>
哈里波特
</
name
>
<
price
>
10
</
price
>
<
memo
>
这是一本很好看的书。
</
memo
>
</
book
>
<
book
id
="B02"
>
<
name
>
三国演义
</
name
>
<
price
>
10
</
price
>
<
memo
>
四大名著之一。
</
memo
>
</
book
>
<
book
id
="B03"
>
<
name
>
水浒
</
name
>
<
price
>
6
</
price
>
<
memo
>
四大名著之一。
</
memo
>
</
book
>
<
book
id
="B04"
>
<
name
>
红楼
</
name
>
<
price
>
5
</
price
>
<
memo
>
四大名著之一。
</
memo
>
</
book
>
</
books
>
下面是为Program.cs
using
System;
using
System.Collections.Generic;
using
System.Text;
using
System.Xml;
namespace
TestXml
...
{
class
Program
...
{
static
void
Main(
string
[] args)
...
{
XmlElement theBook
=
null
, theElem
=
null
, root
=
null
;
XmlDocument xmldoc
=
new
XmlDocument();
try
...
{
xmldoc.Load(
"
Books.xml
"
);
root
=
xmldoc.DocumentElement;
//
--- 新建一本书开始 ----
theBook
=
xmldoc.CreateElement(
"
book
"
);
theElem
=
xmldoc.CreateElement(
"
name
"
);
theElem.InnerText
=
"
新书
"
;
theBook.AppendChild(theElem);
theElem
=
xmldoc.CreateElement(
"
price
"
);
theElem.InnerText
=
"
20
"
;
theBook.AppendChild(theElem);
theElem
=
xmldoc.CreateElement(
"
memo
"
);
theElem.InnerText
=
"
新书更好看。
"
;
theBook.AppendChild(theElem);
root.AppendChild(theBook);
Console.Out.WriteLine(
"
--- 新建一本书开始 ----
"
);
Console.Out.WriteLine(root.OuterXml);
//
--- 新建一本书完成 ----
//
--- 下面对《哈里波特》做一些修改。 ----
//
--- 查询找《哈里波特》----
theBook
=
(XmlElement)root.SelectSingleNode(
"
/books/book[name=''哈里波特'']
"
);
Console.Out.WriteLine(
"
--- 查找《哈里波特》 ----
"
);
Console.Out.WriteLine(theBook.OuterXml);
//
--- 此时修改这本书的价格 -----
theBook.GetElementsByTagName(
"
price
"
).Item(
0
).InnerText
=
"
15
"
;
//
getElementsByTagName返回的是NodeList,所以要跟上item(0)
Console.Out.WriteLine(
"
--- 此时修改这本书的价格 ----
"
);
Console.Out.WriteLine(theBook.OuterXml);
//
--- 另外还想加一个属性id,值为B01 ----
theBook.SetAttribute(
"
id
"
,
"
B01
"
);
Console.Out.WriteLine(
"
--- 另外还想加一个属性id,值为B01 ----
"
);
Console.Out.WriteLine(theBook.OuterXml);
//
--- 对《哈里波特》修改完成。 ----
//
--- 再将所有价格低于10的书删除 ----
theBook
=
(XmlElement)root.SelectSingleNode(
"
/books/book[@id=''B02'']
"
);
Console.Out.WriteLine(
"
--- 要用id属性删除《三国演义》这本书 ----
"
);
Console.Out.WriteLine(theBook.OuterXml);
theBook.ParentNode.RemoveChild(theBook);
Console.Out.WriteLine(
"
--- 删除后的XML ----
"
);
Console.Out.WriteLine(xmldoc.OuterXml);
//
--- 再将所有价格低于10的书删除 ----
XmlNodeList someBooks
=
root.SelectNodes(
"
/books/book[price<10]
"
);
Console.Out.WriteLine(
"
--- 再将所有价格低于10的书删除 ---
"
);
Console.Out.WriteLine(
"
--- 符合条件的书有
"
+
someBooks.Count
+
"
本。 ---
"
);
for
(
int
i
=
0
; i
<
someBooks.Count; i
++
)
...
{
someBooks.Item(i).ParentNode.RemoveChild(someBooks.Item(i));
}
Console.Out.WriteLine(
"
--- 删除后的XML ----
"
);
Console.Out.WriteLine(xmldoc.OuterXml);
xmldoc.Save(
"
books.xml
"
);
//
保存到books.xml
Console.In.Read();
}
catch
(Exception e)
...
{
Console.Out.WriteLine(e.Message);
}
}
}
}
posted @
2008-12-11 23:34
叶晓丰
阅读(
407
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
公告