XML的简单读取与写入

阿振的故事

阿振的故事

2016-02-19 21:42

下面是个XML的简单读取与写入教程,撑握了其技术要点,学起来就简单多了。赶紧跟着图老师小编一起来看看吧!

  已知有一个XML文件(bookstore.xml)如下:
  ?xml version="1.0" encoding="gb2312"?
  bookstore
  book genre="fantasy" ISBN="2-3631-4"
  titleOberon's Legacy/title
  authorCorets, Eva/author
  price5.95/price
  /book
  /bookstore

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

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

  root.AppendChild(xe1);//添加到bookstore节点中
  xmlDoc.Save("bookstore.xml");
  //===============================================
  结果为:
  ?xml version="1.0" encoding="gb2312"?
  bookstore
  book genre="fantasy" ISBN="2-3631-4"
  titleOberon's Legacy/title
  authorCorets, Eva/author
  price5.95/price
  /book
  book genre="李赞红" ISBN="2-3631-4"
  titleCS从入门到精通/title
  author候捷/author
  price58.3/price
  /book
  /bookstore

  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");//保存。
  //==================================================
  最后结果为:
  ?xml version="1.0" encoding="gb2312"?
  bookstore
  book genre="fantasy" ISBN="2-3631-4"
  titleOberon's Legacy/title
  authorCorets, Eva/author
  price5.95/price
  /book
  book genre="update李赞红" ISBN="2-3631-4"
  titleCS从入门到精通/title
  author亚胜/author
  price58.3/price
  /book
  /bookstore

  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");
  //===========================================
  最后结果为:
  ?xml version="1.0" encoding="gb2312"?
  bookstore
  book ISBN="2-3631-4"
  titleOberon's Legacy/title
  authorCorets, Eva/author
  price5.95/price
  /book
  book
  /book
  /bookstore

  4、显示所有数据。
  XmlNode xn=xmlDoc.SelectSingleNode("bookstore");

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

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

展开更多 50%)
分享

猜你喜欢

XML的简单读取与写入

Web开发
XML的简单读取与写入

Cookie 的写入与读取

电脑网络
Cookie 的写入与读取

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

用Ajax读取xml文件的简单例子

Web开发
用Ajax读取xml文件的简单例子

javascript读取xml

Web开发
javascript读取xml

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

读取XML的类 XmlReader

Web开发
读取XML的类 XmlReader

Excel Vba读取XML

电脑入门
Excel Vba读取XML

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Win RT您所应该知道的13件事是什么

Win RT您所应该知道的13件事是什么

在VC6.0下自制多媒体播放器

在VC6.0下自制多媒体播放器
下拉加载更多内容 ↓