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);
}
}
}
}
查看全文
相关阅读:
pycharm中启动Django方法
Python ——selenium报错 'chromedriver.exe' executable needs to be in PATH
软件测试
C#&.Net干货分享- 构建PrinterHelper直接调用打印机相关操作
C#&.Net干货分享- iTextSharp导出数据源到PDF
C#&.Net干货分享-构建Aocr_ImageHelper读取图片文字做解析
C#&.Net干货分享-构建后台自动定时任务的源码
SQL Server清理数据库日志的脚本-干货
SQL Server通过函数把逗号分隔的字符串拆分成数据列表的脚本-干货
SQL Server通过定义函数返回字段数据列表模板-干货
原文地址:https://www.cnblogs.com/wzyexf/p/1353342.html
最新文章
软件性能测试读书笔记(2)
软件性能测试读书笔记(1)
【转】常用性能计数器
modern.IE
比较两个文本的不同
linux查看网卡地址和硬盘序列号
DOCTYPE导致MyEclipse无法正常格式化HTML的问题
The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.报该错误的一种原因。
在JSP中使用formatNumber控制要显示的小数位数
Java中BigDecimal的一个除法异常
热门文章
在Notepad++中使用文本对比插件
easyui datagrid 异步加载数据时滚动条有时会自动滚到最底部的问题
一个hibernate中的异常:NonUniqueDiscoveredSqlAliasException
在Java中用正则表达式判断一个字符串是否是数字的方法
解决idea中mysql连接失败Could not create connection to database server. Attempted reconnect 3 times. Giving up.
国内Maven仓库--阿里云Aliyun仓库地址及设置
单词倒序(java)
Python数据类型
virtualenv 在windows下的简单应用
Python报错ERROR: Command errored out with exit status 1:
Copyright © 2011-2022 走看看