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. linux内核中的##__VA_ARGS__有什么作用?

    答:   1.__VA_ARGS__是一个可变参数宏: 2. 当可变参数的个数为0时,这里的##起到把前面多余的","去掉的作用,否则会编译出错: 3. 示例 3.1 #defin ...

  2. go语言实战教程之 后台管理页面统计功能开发(1)

    本节内容我们将学习开发实现后台管理平台页面统计功能开发的功能接口,本章节内容将涉及到多种请求路由的方式. 功能介绍 后台管理平台不仅是功能管理平台,同时还是数据管理平台.从数据管理平台角度来说,在管理 ...

  3. 【以太坊开发】区块链中的预言机:Oraclize原理介绍

    智能合约的作用很多,但是很多数据还是要基于互联网,那么如何在合约中获取互联网中的数据?Oraclize就是为了这个目的而诞生的. 工作原理: 智能合约通过对Oraclize发布一个合约之间的调用请求来 ...

  4. 10.9 guz模拟题题解

    感谢@guz 顾z的题题解 考试共三道题,其中 第一题help共10个测试点,时间限制为 1000ms,空间限制为 256MB. 第二题escape共20个测试点,时间限制为1000ms2000ms, ...

  5. socket 释放全过程

    1.close()函数:立即返回到进程 int close(int sockfd);     //返回成功为0,出错为-1. close 一个套接字的默认行为是把套接字标记为已关闭,然后立即返回到调用 ...

  6. arcgis打印服务

    <script>    function print1() {        require([               "esri/map",           ...

  7. kali2017.2之***ss安装与使用

    一.命令行安装:apt-get install python-pip    ###安装pipsudo pip install shadowsocks    ###安装ssgedit /etc/shad ...

  8. java 调用本地应用程序 Java打开(.word,.txt,.pdf)文件

    https://blog.csdn.net/lebron3v/article/details/80741000

  9. whl is not a supported wheel on this platform解决办法

    有些时候,我们用pip install *** 难免发生意外,可以采用安装whl的方法,不过... 有时候出现如: whl is not a supported wheel on this platf ...

  10. Codeforces - 466C 双指针

    首先要判sum是否是3的整数倍 然后把符合条件的前缀和以及后缀和分别加入到静态vector中 最后扫一下j和k定位在哪然后求总长的差来更新答案 注意i j k至少隔1位,所以lower_bound是s ...