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);
}
}
}
}
查看全文
相关阅读:
java Future 模式
多线程的优点和代价
转:Java同步synchronized使用
管程
【移动开发人员沙龙 北京站】第二期 报名火热来袭
POJ 3111 K Best(最大化平均值)
坐标和依赖
分析cocos2d-x在Android上的编译过程(1):cocco2d-x是怎样生成的Android的文件夹结构
执行startx后Ubuntupassword正确进不去的问题
leetcode 刷题之路 64 Construct Binary Tree from Inorder and Postorder Traversal
原文地址:https://www.cnblogs.com/wzyexf/p/1353342.html
最新文章
面向对象技巧之高内聚,低耦合!!!
markdown
layer iframe层的使用,传参
git中的常用指令名及其意义
GitHub的使用详解!Windows GitHub ,Sublime Git GitGutter的使用!
chrome浏览器测试js函数
php图像处理函数imagecopyresampled
php中mb_strlen,mb_substr根据中文长度截取字符串
bootstrap栅格布局,第一次成功
jquery+css实现菜单收缩效果并适应多种浏览器与移动平台
热门文章
Javascript 严格模式use strict详解
css属性之transition
css属性之transform
css属性之!important
线程通信机制:共享内存 VS 消息传递
Windows 7 mklink命令详解
java 内存模型
多线程Thread-Specific Storage 模式
多线程Two-Phase Termination Pattern两阶段终止模式
多线程 Worker Thread 模式
Copyright © 2011-2022 走看看