C#操作xml文件实例详解

开发 后端
C#操作xml文件实例主要通过一个实例向你讲述了C#操作xml文件的整个过程,希望对你有所帮助。

C#操作xml文件实例是如何的呢?让我们先看看问题:

已知有一个XML文件(bookstore.xml)如下:

﹤?xml version="1.0" encoding="gb2312"?﹥  
﹤bookstore﹥  
﹤book genre="fantasy" ISBN="2-3631-4"﹥  
﹤title﹥Oberon's Legacy﹤/title﹥  
﹤author﹥Corets, Eva﹤/author﹥  
﹤price﹥5.95﹤/price﹥  
﹤/book﹥  
﹤/bookstore﹥ 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

C#操作xml文件实例1、

往﹤bookstore﹥节点中插入一个﹤book﹥节点:

XmlDocument xmlDoc=new XmlDocument();  
xmlDoc.Load("bookstore.xml");  
XmlNode root=xmlDoc.SelectSingleNode("bookstore");//查找﹤bookstore﹥  
XmlElement xe1=xmlDoc.CreateElement("book");//创建一个﹤book﹥节点  
xe1.SetAttribute("genre","李赞红");//设置该节点genre属性  
xe1.SetAttribute("ISBN","2-3631-4");//设置该节点ISBN属性  
 
XmlElement xesub1=xmlDoc.CreateElement("title");  
xesub1.InnerText="CS从入门到精通";//设置文本节点  
xe1.AppendChild(xesub1);//添加到﹤book﹥节点中  
XmlElement xesub2=xmlDoc.CreateElement("author");  
xesub2.InnerText="候捷";  
xe1.AppendChild(xesub2);  
XmlElement xesub3=xmlDoc.CreateElement("price");  
xesub3.InnerText="58.3";  
xe1.AppendChild(xesub3);  
 
root.AppendChild(xe1);//添加到﹤bookstore﹥节点中  
xmlDoc.Save("bookstore.xml");  
 
//================  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.

C#操作xml文件实例结果为:

﹤?xml version="1.0" encoding="gb2312"?﹥  
﹤bookstore﹥  
﹤book genre="fantasy" ISBN="2-3631-4"﹥  
﹤title﹥Oberon's Legacy﹤/title﹥  
﹤author﹥Corets, Eva﹤/author﹥  
﹤price﹥5.95﹤/price﹥  
﹤/book﹥  
﹤book genre="李赞红" ISBN="2-3631-4"﹥  
﹤title﹥CS从入门到精通﹤/title﹥  
﹤author﹥候捷﹤/author﹥  
﹤price﹥58.3﹤/price﹥  
﹤/book﹥  
﹤/bookstore﹥ 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.

C#操作xml文件实例2、

修改节点:将genre属性值为“李赞红“的节点的genre值改为“update李赞红”,将该节点的子节点﹤author﹥的文本修改为“亚胜”。

XmlNodeList nodeList=xmlDoc.  
SelectSingleNode("bookstore").ChildNodes;  
//获取bookstore节点的所有子节点  
foreach(XmlNode xn in nodeList)  
//遍历所有子节点  
{  
XmlElement xe=(XmlElement)xn;  
//将子节点类型转换为XmlElement类型  
if(xe.GetAttribute("genre")=="李赞红")  
//如果genre属性值为“李赞红”  
{  
xe.SetAttribute("genre","update李赞红");  
//则修改该属性为“update李赞红”  
 
XmlNodeList nls=xe.ChildNodes;  
//继续获取xe子节点的所有子节点  
foreach(XmlNode xn1 in nls)//遍历  
{  
XmlElement xe2=(XmlElement)xn1;  
//转换类型  
if(xe2.Name=="author")//如果找到  
{  
xe2.InnerText="亚胜";//则修改  
break;//找到退出来就可以了  
}  
}  
break;  
}  
}  
 
xmlDoc.Save("bookstore.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.

C#操作xml文件实例***结果为:

﹤?xml version="1.0" encoding="gb2312"?﹥  
﹤bookstore﹥  
﹤book genre="fantasy" ISBN="2-3631-4"﹥  
﹤title﹥Oberon's Legacy﹤/title﹥  
﹤author﹥Corets, Eva﹤/author﹥  
﹤price﹥5.95﹤/price﹥  
﹤/book﹥  
﹤book genre="update李赞红" ISBN="2-3631-4"﹥  
﹤title﹥CS从入门到精通﹤/title﹥  
﹤author﹥亚胜﹤/author﹥  
﹤price﹥58.3﹤/price﹥  
﹤/book﹥  
﹤/bookstore﹥ 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.

C#操作xml文件实例3、

删除

﹤book genre="fantasy"   
ISBN="2-3631-4"﹥节点的genre属性,删除   
﹤book genre="update李赞红" ISBN="2-3631-4"﹥节点。  
 
XmlNodeList xnl=xmlDoc.SelectSingleNode("bookstore").ChildNodes;  
 
foreach(XmlNode xn in xnl)  
{  
XmlElement xe=(XmlElement)xn;  
 
if(xe.GetAttribute("genre")=="fantasy")  
{  
xe.RemoveAttribute("genre");//删除genre属性  
}  
else if(xe.GetAttribute("genre")=="update李赞红")  
{  
xe.RemoveAll();//删除该节点的全部内容  
}  
}  
xmlDoc.Save("bookstore.xml");  
 
//====================  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.

C#操作xml文件实例***结果为:

﹤?xml version="1.0" encoding="gb2312"?﹥  
﹤bookstore﹥  
﹤book ISBN="2-3631-4"﹥  
﹤title﹥Oberon's Legacy﹤/title﹥  
﹤author﹥Corets, Eva﹤/author﹥  
﹤price﹥5.95﹤/price﹥  
﹤/book﹥  
﹤book﹥  
﹤/book﹥  
﹤/bookstore﹥  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

C#操作xml文件实例4、

显示所有数据。

XmlNode xn=xmlDoc.SelectSingleNode("bookstore");  
 
XmlNodeList xnl=xn.ChildNodes;  
 
foreach(XmlNode xnf in xnl)  
{  
XmlElement xe=(XmlElement)xnf;  
Console.WriteLine(xe.GetAttribute("genre"));//显示属性值  
Console.WriteLine(xe.GetAttribute("ISBN"));  
 
XmlNodeList xnf1=xe.ChildNodes;  
foreach(XmlNode xn2 in xnf1)  
{  
Console.WriteLine(xn2.InnerText);//显示子节点点文本  
}  
}  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.

C#操作xml文件实例的基本内容就向你介绍到这里,希望对你了解和学习C#操作xml文件有所帮助。

【编辑推荐】

  1. C# 操作Excel之读取Excel操作浅析
  2. C# 操作Excel之写入Excel操作浅析
  3. C# 操作XML之建立Xml对象浅析
  4. C# 操作XML之读取Xml浅析
  5. C# 操作XML的全过程实例浅析
责任编辑:仲衡 来源: haoxiai.net
相关推荐

2009-09-09 18:20:29

C# XML编程

2009-08-20 11:01:51

C#操作内存

2009-09-01 11:25:08

C#读取Word文件

2009-08-31 18:38:59

C#写文件

2009-08-18 16:49:05

C# 操作XML

2009-09-09 13:57:28

C# XML解析

2009-09-04 14:14:55

C#文档

2009-08-18 16:42:49

C# 操作XML

2009-09-09 14:40:15

C# XML解析

2009-08-12 15:26:38

C#读取XML文档

2009-08-26 11:53:56

C#打印文本文件

2024-04-03 00:10:24

C#System数据

2009-09-02 17:12:06

C#关机代码

2009-08-18 10:14:19

C#插件构架

2009-09-11 12:31:52

C#实例详解TypeConvert

2009-08-18 17:11:03

C#操作XML文件

2009-08-18 16:30:41

C# 操作XML

2009-08-19 16:09:15

C#操作Access

2009-08-18 13:49:21

C# 操作Excel

2009-09-09 15:54:48

C# XML序列化
点赞
收藏

51CTO技术栈公众号