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文件有所帮助。
【编辑推荐】