网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

C#中对 XML节点进行添加,删除

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 14/07/12

鉴于大家对ASP.net十分关注,我们编辑小组在此为大家搜集整理了“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、往节点中插入一个节点:

  XmlDocument xmlDoc=new XmlDocument();

  xmlDoc.Load("bookstore.xml");

  XmlNode root=xmlDoc.SelectSingleNode("bookstore");//查找

  XmlElement xe1=xmlDoc.CreateElement("book");//创建一个节点

  xe1.SetAttribute("genre","李赞红");//设置该节点genre属性

  xe1.SetAttribute("ISBN","2-3631-4");//设置该节点ISBN属性

  XmlElement xesub1=xmlDoc.CreateElement("title");

  xesub1.InnerText="CS从入门到精通";//设置文本节点

  xe1.AppendChild(xesub1);//添加到节点中

  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);//添加到节点中

  xmlDoc.Save("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>

  <book genre="李赞红" ISBN="2-3631-4">

  <title>CS从入门到精通</title>

  <author>候捷</author>

  <price>58.3</price>

  </book>

  </bookstore>

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

  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");//保存。

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

  最后结果为:

  <?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>

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

  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");

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

  最后结果为:

  <?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>

  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);//显示子节点点文本

  }

  }

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号