XML 简单操作

<?xml:namespace prefix = o />

 

<?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
、往<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");


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

 

<?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李赞红,将该节点的子节点<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 xn<?xml:namespace prefix = st1 />1 innls)//
遍历
     {
      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
、删除 <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">
    <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);//
显示子节点文本
    }
   }

 

转载于:https://www.cnblogs.com/mmmhhhlll/archive/2004/10/05/49087.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/497392.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android友盟错误日志,Taro(React-native)集成友盟错误日志分析U-App移动统计

1、先去友盟官网注册应用&#xff0c;获取到appkey&#xff0c;友盟移动统计分析U-App&#xff0c;这个步骤就不贴出来了&#xff0c;需要注意的是ios和Android 不能使用同一个appkey&#xff0c;需要分别创建两个应用&#xff0c;应用名称可以在后面加上平台名称&#xff0c;例…

2018年中国新零售市场研究报告——概念、模式与案例【附下载】

来源&#xff1a;亿欧概要&#xff1a;“新零售” 之“新”在于顺势下的“变化”&#xff0c;不应该局限于“阿里巴巴的新零售”。报告尝试从一个更宽广的视角&#xff0c;对当前零售业变化的背景和各种驱动因素进行分析&#xff0c;总结当下时间段零售行业参与者的新动作&…

[导入]ASP.NET 配置节架构

ASP.NET 配置节架构文章来源:http://blog.csdn.net/21aspnet/archive/2004/11/04/167417.aspx转载于:https://www.cnblogs.com/zhaoxiaoyang2/archive/2004/11/05/816261.html

重构--思维导图

#原图 System.out.println("https://www.processon.com/view/60fa8c441e085366ea4c2b9e?fromnew1");

Android代码导出数据库,导入/导出到android sqlite数据库

我看过几篇关于如何在android中导入和导出数据库的帖子,我找到了这些代码,但我似乎无法使它工作.我收到错误java.io.filenotfoundexception / storage / sdcard0 / BackupFolder / DatabaseName&#xff1a;打开失败的ENOENT(没有这样的文件或目录).我改变了一些东西,但我仍然没…

谷歌Jeff Dean团队提出利用深度学习对「电子健康记录」数据进行分析,可提高医疗诊断预测的准确性

原文来源&#xff1a;arXiv作者&#xff1a;Alvin Rajkomar、Eyal Oren、Kai Chen、Andrew M. Dai、Nissan Hajaj、Peter J. Liu、Xiaobing Liu, Mimi Sun、Patrik Sundberg、Hector Yee、Kun Zhang、Yi Zhang、Gavin E. Duggan、Gerardo Flores、Michaela Hardt、Jamie Irvine…

想太多……

想太多总是伤神&#xff0c;不晓得是因为早上打针打太多了还是晚上想太多了&#xff0c;现在有点头疼…… 被成全的人&#xff0c;应该是幸福的人&#xff0c;还有什么好抱怨的呢……亲眼看到成全我的人的痛苦&#xff0c;难道不应该更珍惜现在的快乐和幸福么&#xff1f; 不去…

Inline Temp(内联临时变量)

一个临时变量&#xff0c;只被一个简单表达式赋值一次&#xff0c;而它妨碍了其他重构手法 double basePrice anOrder.basePrice(); return basePrice > 1000; 重构后 return anOrder.basePrice() > 1000;

android卫星菜单中间,Android卫星菜单:android-satellite-menu

android-satellite-menu实现点击主按钮&#xff0c;会弹出多个围绕着主按钮排列的子按钮&#xff0c;从而形成一个卫星弹出式菜单。子按钮弹出和消失的动画效果都很棒。这种弹出式菜单按钮应用在Path2.0中。用法在你的view xml中添加组件定义&#xff0c;如下示例&#xff1a;x…

NLP顶级专家Dan Roth :自然语言处理领域近期的任务和主要应用

来源&#xff1a;AI科技大本营概要&#xff1a;1月28日消息&#xff0c;《麻省理工科技评论》新兴科技峰会EmTech China在北京召开&#xff0c;营长也受邀参加&#xff0c;会上有多位人工智能领域的重磅大佬出没&#xff0c;Dan Roth 就是其中一位。1月28日消息&#xff0c;《麻…

ASP面向对象编程探讨及比较

ASP是Microsoft于较早期推出的动态网页编程技术&#xff0c;但其结合ADO对数据库方便快捷的访问、结合XML、COM/ActiveX等其它技术 实现服务器多层结构的功能使它在今天还有着顽强的生命力&#xff0c;并且依然有着一定的发展。ASP.Net虽然在架构上完全不同于ASP&#xff0…

【重点!!!】【单调栈】84.柱状图中最大矩形

题目 法1&#xff1a;单调栈[原版] O(N)O(N) 必须掌握算法&#xff01;&#xff01;&#xff01; class Solution {public int largestRectangleArea(int[] heights) {int n heights.length, res 0;int[] leftMin new int[n], rightMin new int[n];Stack<Integer>…

android support library github,Android Support Library 之 夜间模式

原标题&#xff1a;Android Support Library 之 夜间模式前言夜间模式实现方式&#xff1a;1、通过切换theme来实现夜间模式。优点&#xff1a;可以匹配多套主题&#xff0c;并不局限于黑白模式缺点&#xff1a;需要大量定义主题详见博客&#xff1a;http://wuxiaolong.me/2015…

Replace Temp with Query(以查询取代临时变量)

一个临时变量保存某一个表达式的运算结果 double basePrice quantity * itemPrice; if (basePrice > 1000) {return basePrice * 0.95; } else {return basePrice * 0.98; } 重构后 if (basePrice() > 1000) {return basePrice() * 0.95; } else {return basePrice()…

类脑信息处理研究取得进展

来源&#xff1a;AAAI2018概要&#xff1a;近期&#xff0c;中国科学院自动化研究所类脑智能研究中心类脑信息处理&#xff08;BRAVE&#xff09;研究组&#xff0c;在研究员张兆翔的带领下&#xff0c;在借鉴生物神经结构、认知机制与学习特性的神经网络建模与类人学习研究中取…

今天下午爽了一把!

呵呵&#xff0c;很久没这么爽爽地看电影了&#xff0c;一个下午居然连续看了三部电影&#xff01;看到人不想看为止&#xff0c;实在是很过瘾的一个下午啊&#xff01;只是是翘课看的电影&#xff0c;感觉有点不太好&#xff0c;最近真是越来越堕落了。看来要好好克制一下自己…

展望:共融机器人的基础理论与关键技术

来源&#xff1a;《国家科学评论》概要&#xff1a;自1959年工业机器人诞生以来&#xff0c;机器人在机械制造、国防安全、健康服务、科考与医疗等方面发挥出越来越重要的作用。自1959年工业机器人诞生以来&#xff0c;机器人在机械制造、国防安全、健康服务、科考与医疗等方面…

Introduce Explaining Variable(引入解释性变量)

难于理解的复杂表达式 if ((platform.toUpperCase().indexOf("MAC") > -1) &&(brower.toUpperCase().indexOf("IE") > -1) &&wasInitialized && resize > 0) {// do something } 重构后 final boolean isMacOS platf…

android sdk 目录说明,Android的sdk、api及工程目录说明

SDK下包的说明1&#xff1a;add-ons&#xff1a;Android开发需要的第三方文件和软件库2&#xff1a;docs&#xff1a;Android的文档。包括开发指南、API参考、资源等3&#xff1a;extras&#xff1a;扩展的附加包4&#xff1a;platforms&#xff1a;你安装下载的所有Android平台…

角色的改变

今年因为个人的原因&#xff0c;换了一个环境&#xff0c;一直都是做开发的&#xff0c;新的工作也是开发&#xff0c;开发部经理&#xff0c;怎么说还是开发。 可是时间越长越觉得操心的不仅是开发的问题了&#xff0c;负责我们公司的经理去美国读书去了&#xff0c;基本不管了…