作为一个小型的数据存储传递的工具——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简单的增删改操作就结束了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。