文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C#操作xml文件的方法

2023-06-17 23:48

关注

本篇内容介绍了“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﹥

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文件的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯