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﹥
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");
- //================
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﹥
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");//保存。
- //=================
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﹥
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");
- //====================
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﹥
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);//显示子节点点文本
- }
- }
C#操作xml文件实例的基本内容就向你介绍到这里,希望对你了解和学习C#操作xml文件有所帮助。
【编辑推荐】