zoukankan
html css js c++ java
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);
}
}
}
}
查看全文
相关阅读:
网站备份list
vnc checklist
appnode iptables 规则后面覆盖前面的
Appnode + Discuz checklist
解决WORD文档无法显示链接的图像问题
应用容器Application container
要研究的内容
转 Flex MXML编译成AS类
Flex文件结构
int a
原文地址:https://www.cnblogs.com/wzyexf/p/1353342.html
最新文章
VS2012 连接TFS 报错TF31002
sql server 在占用服务器内存居高不下怎么办【转】
【转】LoadRunner中事务和集合点的放置顺序问题
更改计算机名,VS无法连接TFS
清除SQL server 记住的用户名和密码
【转】LoadRunner使用中遇到的问题
【转】sql server性能分析--DMV之(sys.dm_exec_query_stats )
LoadRunner 运行Samples-Web-Start Web提示端口被占用
黑盒测试和白盒测试的区别
sql join,left join,rigt join
热门文章
树莓派首次配置总结
[转]Ubuntu下快速安装python
[转][自己打脸]Node.JS——NodeJS引用路径的小问题
[备忘]node.js安装后需要那些做的事情
OpenWrt搭建uhttpd+php+sqlite的环境
php中字符串分割函数
[转]OpenWRT之获取MAC地址
ApiCloud中Rest对象的一些使用说明
ApiCloud数据Url请求
[转]vs2012搭建OpenGL环境
Copyright © 2011-2022 走看看