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

成都创新互联长期为上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为天山企业提供专业的成都网站设计、网站制作,天山网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。
已知有一个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文件有所帮助。
                文章标题:C#操作xml文件实例详解
                
                网站路径:http://www.csdahua.cn/qtweb/news21/254721.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网