作为一个小型的数据存储传递的工具——xml,大家肯定也不陌生,今天就关于xml的一些简单操作做些总结。
这些都是在控制台进行操作的·····
1.创建xml
1)创建普通xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
static void main( string [] args) { //通过代码来创建xml文档 //1、引用命名空间 //2、创建xml文档对象 xmldocument doc = new xmldocument(); //3、创建第一个行描述信息,并且添加到doc文档中 xmldeclaration dec = doc.createxmldeclaration( "1.0" , "utf-8" , null ); doc.appendchild(dec); //4、创建根节点 xmlelement books = doc.createelement( "books" ); //将根节点添加到文档中 doc.appendchild(books); //5、给根节点books创建子节点 xmlelement book1 = doc.createelement( "book" ); //将book添加到根节点 books.appendchild(book1); //6、给book1添加子节点 xmlelement name1 = doc.createelement( "name" ); name1.innertext = "三国演义" ; book1.appendchild(name1); xmlelement price1 = doc.createelement( "price" ); price1.innertext = "70" ; book1.appendchild(price1); xmlelement des1 = doc.createelement( "des" ); des1.innertext = "好看" ; book1.appendchild(des1); xmlelement book2 = doc.createelement( "book" ); books.appendchild(book2); xmlelement name2 = doc.createelement( "name" ); name2.innertext = "西游记" ; book2.appendchild(name2); xmlelement price2= doc.createelement( "price" ); price2.innertext = "80" ; book2.appendchild(price2); xmlelement des2 = doc.createelement( "des" ); des2.innertext = "还不错" ; book2.appendchild(des2); doc.save( "books.xml" ); console.writeline( "保存成功" ); console.readkey(); } |
根据代码写的,然后运行,就会得到我们想要的xml文档:
2)创建带属性的xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
static void main( string [] args) { xmldocument doc = new xmldocument(); xmldeclaration dec = doc.createxmldeclaration( "1.0" , "utf-8" , "yes" ); doc.appendchild(dec); xmlelement order = doc.createelement( "order" ); doc.appendchild(order); xmlelement customername = doc.createelement( "customername" ); customername.innertext = "张三" ; order.appendchild(customername); xmlelement customernumber = doc.createelement( "customernumber" ); customernumber.innertext = "1010101" ; order.appendchild(customernumber); xmlelement items = doc.createelement( "items" ); order.appendchild(items); xmlelement orderitem1 = doc.createelement( "orderitem" ); //给节点添加属性 orderitem1.setattribute( "name" , "单反" ); orderitem1.setattribute( "count" , "1120" ); items.appendchild(orderitem1); xmlelement orderitem2 = doc.createelement( "orderitem" ); //给节点添加属性 orderitem2.setattribute( "name" , "书" ); orderitem2.setattribute( "count" , "30" ); items.appendchild(orderitem2); xmlelement orderitem3 = doc.createelement( "orderitem" ); //给节点添加属性 orderitem3.setattribute( "name" , "手机" ); orderitem3.setattribute( "count" , "2000" ); items.appendchild(orderitem3); doc.save( "order.xml" ); console.writeline( "保存成功" ); console.readkey(); } |
根据代码写的,然后运行,就会得到我们想要的xml文档:
2.追加xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
static void main( string [] args) { //追加xml文档 xmldocument doc = new xmldocument(); xmlelement books; if (file.exists( "books.xml" )) { //如果文件存在 加载xml doc.load( "books.xml" ); //获得文件的根节点 books = doc.documentelement; } else { //如果文件不存在 //创建第一行 xmldeclaration dec = doc.createxmldeclaration( "1.0" , "utf-8" , null ); doc.appendchild(dec); //创建跟节点 books = doc.createelement( "books" ); doc.appendchild(books); } //5、给根节点books创建子节点 xmlelement book1 = doc.createelement( "book" ); //将book添加到根节点 books.appendchild(book1); //6、给book1添加子节点 xmlelement name1 = doc.createelement( "name" ); name1.innertext = "c#开发大全" ; book1.appendchild(name1); xmlelement price1 = doc.createelement( "price" ); price1.innertext = "110" ; book1.appendchild(price1); xmlelement des1 = doc.createelement( "des" ); des1.innertext = "看不懂" ; book1.appendchild(des1); doc.save( "books.xml" ); console.writeline( "保存成功" ); console.readkey(); } |
根据代码写的,然后运行,就会得到我们想要的xml文档:
3.读取xml
1)读取普通xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
static void main( string [] args) { xmldocument doc = new xmldocument(); //加载要读取的xml doc.load( "books.xml" ); //获得根节点 xmlelement books = doc.documentelement; //获得子节点 返回节点的集合 xmlnodelist xnl = books.childnodes; foreach (xmlnode item in xnl) { console.writeline(item.innertext); } console.readkey(); } |
根据代码写的,然后运行,就会得到读取的xml结果:
2)读取带属性的xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
static void main( string [] args) { //读取带属性的xml文档 xmldocument doc = new xmldocument(); doc.load( "order.xml" ); xmlnodelist xnl = doc.selectnodes( "/order/items/orderitem" ); foreach (xmlnode node in xnl) { console.writeline(node.attributes[ "name" ].value); console.writeline(node.attributes[ "count" ].value); } console.readkey(); } |
根据代码写的,然后运行,就会得到读取的xml结果:
4.修改属性的值
1
2
3
4
5
6
7
8
9
10
11
12
13
|
static void main( string [] args) { //改变属性的值 xmldocument doc = new xmldocument(); doc.load( "order.xml" ); xmlnode xn = doc.selectsinglenode( "/order/items/orderitem[@name='单反']" ); xn.attributes[ "count" ].value = "2000" ; xn.attributes[ "name" ].value = "电脑" ; doc.save( "order.xml" ); console.writeline( "保存成功" ); console.readkey(); } |
根据代码写的,然后运行,就会得到修改后的xml结果:
5.删除xml节点
1
2
3
4
5
6
7
8
9
10
|
static void main( string [] args) { xmldocument doc = new xmldocument(); doc.load( "order.xml" ); xmlnode xn = doc.selectsinglenode( "/order/items" ); xn.removeall(); doc.save( "order.xml" ); console.writeline( "删除成功" ); console.readkey(); } |
根据代码写的,然后运行,就会得到修删除后的xml结果:
至此:xml简单的增删改操作就结束了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。