version="1.0" encoding="gb2312"?>
. <bookstore>
. <book genre="fantasy" isbn="2-3631-4">
. <title>Oberons Legacy</title>
. <author>Corets, Eva</author>
. <price>5.95</price>
. </book genre="fantasy" isbn="2-3631-4">
. </bookstore>
.
. 、往<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>Oberons Legacy</title>
. <author>Corets, Eva</author>
. <price>5.95</price>
. </book genre="fantasy" isbn="2-3631-4">
. <book genre="李铁锤" isbn="2-3631-4">
. <title>CS从入门到精通</title>
. <author>候捷</author>
. <price>58.3</price>
. </book genre="李铁锤" isbn="2-3631-4">
. </bookstore>
.
. 、修改节点:将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">
. <title>Oberons Legacy</title>
. <author>Corets, Eva</author>
. <price>5.95</price>
. </book genre="fantasy" isbn="2-3631-4">
. <book genre="update李铁锤" isbn="2-3631-4">
. <title>CS从入门到精通</title>
. <author>亚胜</author>
. <price>58.3</price>
. </book genre="update李铁锤" isbn="2-3631-4">
. </bookstore>
.
. 、删除 <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>Oberons Legacy</title>
. <author>Corets, Eva</author>
. <price>5.95</price>
. </book isbn="2-3631-4">
. <book>
. </book>
. </bookstore>
.
. 、显示所有数据。
. 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);//显示子节点点文本
. }
. } </book genre="update李铁锤" isbn="2-3631-4"></book genre="fantasy" isbn="2-3631-4"></author></bookstore></book></book></bookstore></book></bookstore>

添加、修改、删除XML节点代码例子的更多相关文章

  1. C# 添加,修改,删除Xml节点 摘录

    C# 添加,修改,删除Xml节点 //添加xml节点    private void AddXml(string image, string title)     {        XmlDocume ...

  2. JavaWeb_day03_员工信息添加修改删除

    day03员工的添加,修改,删除 修改功能 思路 : 点击修改员工数据之后,跳转到单行文本,查询要修改的员工id的全部信息,主键id设置为readonly,其余的都可以修改, 修改之后,提交按钮,提交 ...

  3. Web 1三级联动 下拉框 2添加修改删除 弹框

    Web  三级联动 下拉框 using System; using System.Collections.Generic; using System.Linq; using System.Web; u ...

  4. 打通前后端全栈开发node+vue进阶【课程学习系统项目实战详细讲解】(3):用户添加/修改/删除 vue表格组件 vue分页组件

    第三章 建议学习时间8小时      总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章] 演示地址:后台:demo ...

  5. SpringBoot定时任务升级篇(动态添加修改删除定时任务)

    需求缘起:在发布了<Spring Boot定时任务升级篇>之后得到不少反馈,其中有一个反馈就是如何动态添加修改删除定时任务?那么我们一起看看具体怎么实现,先看下本节大纲: (1)思路说明: ...

  6. 【转】C#添加修改删除文件文件夹大全

    [转]C#添加修改删除文件文件夹大全 C#添加修改删除文件文件夹大全 StreamWriter sw = File.AppendText(Server.MapPath(".")+& ...

  7. js添加、修改、删除xml节点例子

    version="1.0" encoding="gb2312"?> . <bookstore> . <book genre=" ...

  8. C# 添加,修改,删除Xml节点

    //添加xml节点    private void AddXml(string image, string title)     {        XmlDocument xmlDoc = new X ...

  9. php添加数据到xml文件的例子

    php添加数据到xml文件中 时间:2015-12-17 06:30:37来源:网络 导读:php添加数据到xml文件中   xml文件:stu.xml: 复制代码代码如下: <?xml ver ...

随机推荐

  1. [CentOS7] 设置语言环境

    博主想要将英文环境(en_US.UTF-8)改为中文环境(zh_CN.UTF-8),有两种解决方法 一.临时解决方法 使用LANG=“zh_CN.UTF-8”,这个命令来实现,不过在重新登录的时候又会 ...

  2. Python中logging模块的基本用法

    在 PyCon 2018 上,Mario Corchero 介绍了在开发过程中如何更方便轻松地记录日志的流程. 整个演讲的内容包括: 为什么日志记录非常重要 日志记录的流程是怎样的 怎样来进行日志记录 ...

  3. asp web.config文件里compilation的assemblies add的元素来自哪里

    该程序集组合由版本.区域性和公钥标记组成. ASP.NET 首先在应用程序的专用 Bin 目录中搜索程序集 DLL,然后在系统程序集缓存中搜索程序集 DLL. add 元素添加要在动态资源编译期间使用 ...

  4. 2019.2.10考试T2, 多项式求exp+生成函数

    \(\color{#0066ff}{ 题目描述 }\) 为了减小文件大小,这里不写一堆题目背景了. 请写一个程序,输入一个数字N,输出N个点的森林的数量.点有标号. 森林是一种无向图,要求图中不能存在 ...

  5. kuangbin专题十六 KMP&&扩展KMP POJ2406 Power Strings

    Given two strings a and b we define a*b to be their concatenation. For example, if a = "abc&quo ...

  6. 树莓派使用 PPA 安装 Java 8

    前言 在树莓派上安装 Java 8,与这篇的操作类似,不过树莓派不支持用 add-apt-repository 自动添加 webupd8team 的源,所以要手动添加. 步骤 在 /etc/apt/s ...

  7. java学习内容整理

    转自:http://www.cnblogs.com/caoleiCoding/p/6170555.html 首先,我个人比较推崇的学习方法是:先学java前段,也就是HTML,css,js,因为学习j ...

  8. java编程技巧和心得

    1.在一个类中修改或调用另一个类的变量: 只需要将该变量用public static 这个修饰符修饰,再用类名直接调用即可 2.实现对只有下标不同变量的操作 解决思路:可以将这些变量放在一个数组里,在 ...

  9. hau1021 Fibonacci Again(递归)

    Fibonacci Again Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  10. Qt中的标准对话框

    1. Qt为开发者提供了一些可复用的对话框类型,如QMessageBox,QFileDialog,QPrintDialog, QColorDialog, QInputDialog, QProgress ...