栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C# > C#教程

C# 对XML操作入门实例

C#教程 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C# 对XML操作入门实例

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

  复制代码 代码如下:
 
 
 
 Oberon'sLegacy
 Corets,Eva
 5.95
 
 

 
 1、往节点中插入一个节点:
  复制代码 代码如下:
 XmldocumentxmlDoc=newXmldocument();
 xmlDoc.Load("bookstore.xml");
 XmlNoderoot=xmlDoc.SelectSingleNode("bookstore");//查找
 XmlElementxe1=xmlDoc.createElement_x("book");//创建一个节点
 xe1.SetAttribute("genre","李赞红");//设置该节点genre属性
 xe1.SetAttribute("ISBN","2-3631-4");//设置该节点ISBN属性

 XmlElementxesub1=xmlDoc.createElement_x("title");
 xesub1.InnerText="CS从入门到精通";//设置文本节点
 xe1.AppendChild(xesub1);//添加到节点中
 XmlElementxesub2=xmlDoc.createElement_x("author");
 xesub2.InnerText="候捷";
 xe1.AppendChild(xesub2);
 XmlElementxesub3=xmlDoc.createElement_x("price");
 xesub3.InnerText="58.3";
 xe1.AppendChild(xesub3);

 root.AppendChild(xe1);//添加到节点中
 xmlDoc.Save("bookstore.xml");

 
 //================
 结果为:

 
  复制代码 代码如下:

 
 
 
 Oberon'sLegacy
 Corets,Eva
 5.95
 

 
 CS从入门到精通
 候捷
 58.3
 

 

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

 复制代码 代码如下:
 XmlNodeListnodeList=xmlDoc.SelectSingleNode("bookstore").ChildNodes;//获取bookstore节点的所有子节点
 foreach(XmlNodexninnodeList)//遍历所有子节点
 {
 XmlElementxe=(XmlElement)xn;//将子节点类型转换为XmlElement类型
 if(xe.GetAttribute("genre")=="李赞红")//如果genre属性值为“李赞红”
 {
 xe.SetAttribute("genre","update李赞红");//则修改该属性为“update李赞红”

 XmlNodeListnls=xe.ChildNodes;//继续获取xe子节点的所有子节点
 foreach(XmlNodexn1innls)//遍历
 {
 XmlElementxe2=(XmlElement)xn1;//转换类型
 if(xe2.Name=="author")//如果找到
 {
 xe2.InnerText="亚胜";//则修改
 break;//找到退出来就可以了
 }
 }
 break;
 }
 }

 xmlDoc.Save("bookstore.xml");//保存。

 
 //=================

 最后结果为:

  复制代码 代码如下:
 
 
 
 Oberon'sLegacy
 Corets,Eva
 5.95
 

 
 CS从入门到精通
 亚胜
 58.3
 
 


 
 3、删除节点的genre属性,删除节点。

  复制代码 代码如下:
 XmlNodeListxnl=xmlDoc.SelectSingleNode("bookstore").ChildNodes;

 foreach(XmlNodexninxnl)
 {
 XmlElementxe=(XmlElement)xn;

 
 if(xe.GetAttribute("genre")=="fantasy")
 {
 xe.RemoveAttribute("genre");//删除genre属性
 }
 elseif(xe.GetAttribute("genre")=="update李赞红")
 {
 xe.RemoveAll();//删除该节点的全部内容
 }
 }
 xmlDoc.Save("bookstore.xml");
 
 //====================

 最后结果为:

  复制代码 代码如下:
 
 
 
 Oberon'sLegacy
 Corets,Eva
 5.95
 
 
 

 

 

 4、显示所有数据。

  复制代码 代码如下:
 XmlNodexn=xmlDoc.SelectSingleNode("bookstore");

 XmlNodeListxnl=xn.ChildNodes;

 foreach(XmlNodexnfinxnl)
 {
 XmlElementxe=(XmlElement)xnf;
 Console.WriteLine(xe.GetAttribute("genre"));//显示属性值
 Console.WriteLine(xe.GetAttribute("ISBN"));

 XmlNodeListxnf1=xe.ChildNodes;
 foreach(XmlNodexn2inxnf1)
 {
 Console.WriteLine(xn2.InnerText);//显示子节点点文本
 }
 }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/127488.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号