添加、修改、删除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">
. </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节点代码例子的更多相关文章
- C# 添加,修改,删除Xml节点 摘录
C# 添加,修改,删除Xml节点 //添加xml节点 private void AddXml(string image, string title) { XmlDocume ...
- JavaWeb_day03_员工信息添加修改删除
day03员工的添加,修改,删除 修改功能 思路 : 点击修改员工数据之后,跳转到单行文本,查询要修改的员工id的全部信息,主键id设置为readonly,其余的都可以修改, 修改之后,提交按钮,提交 ...
- Web 1三级联动 下拉框 2添加修改删除 弹框
Web 三级联动 下拉框 using System; using System.Collections.Generic; using System.Linq; using System.Web; u ...
- 打通前后端全栈开发node+vue进阶【课程学习系统项目实战详细讲解】(3):用户添加/修改/删除 vue表格组件 vue分页组件
第三章 建议学习时间8小时 总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章] 演示地址:后台:demo ...
- SpringBoot定时任务升级篇(动态添加修改删除定时任务)
需求缘起:在发布了<Spring Boot定时任务升级篇>之后得到不少反馈,其中有一个反馈就是如何动态添加修改删除定时任务?那么我们一起看看具体怎么实现,先看下本节大纲: (1)思路说明: ...
- 【转】C#添加修改删除文件文件夹大全
[转]C#添加修改删除文件文件夹大全 C#添加修改删除文件文件夹大全 StreamWriter sw = File.AppendText(Server.MapPath(".")+& ...
- js添加、修改、删除xml节点例子
version="1.0" encoding="gb2312"?> . <bookstore> . <book genre=" ...
- C# 添加,修改,删除Xml节点
//添加xml节点 private void AddXml(string image, string title) { XmlDocument xmlDoc = new X ...
- php添加数据到xml文件的例子
php添加数据到xml文件中 时间:2015-12-17 06:30:37来源:网络 导读:php添加数据到xml文件中 xml文件:stu.xml: 复制代码代码如下: <?xml ver ...
随机推荐
- javascript jquery封装对象时的错误,求解!我想知道为什么
jquery 封装对象时的错误 --------------------------------------------<input id="name" name=&qu ...
- java 学习第一篇简单基础
Java基础 Java Java 和C#有着极为相似的语法. 和C#都是面向对象的高级程序语言. JAVA是一个开源,公开的语言,有着极其丰富的开源库和其他资源. JAVA分类 JAVA分SE EE ...
- 正经学C#_变量与其数据类型:《c#入门经典》
这一篇总结以下变量与其数据类型. 变量:在c#中指 某一个值或者数据存储在变量中,并且可以取出或者查看.变量不仅仅是一种,也有很多种,细分而言就是类型.泛指就是变量.如果是要是使用变量就要 声明变量, ...
- Python3中集合的混合使用
比较简单没什么好说的: list_1 = [1,2,3,4,6,3,2,5,7,8,2,1] list_1 = set(list_1) list_1.add(999) list_2 = set([2, ...
- 【Java】Strategy Pattern
前言 如果说,商场打折针对不同的时节,比如双十一.圣诞节.春节这些值得促销的好日子,进行不同程度的降价打折从而获得最大程度上的收益,如果有一群鸭子,只会游泳.嘎嘎叫,但是某一天某种类型的鸭子学会了飞, ...
- 给label添加点击事件
后台代码: lb1.Attributes.Add("onclick", "getSN('" + lb1.Text.Trim() + "')" ...
- (multi)set的某些操作
(multi)set的某些操作 我们可以把multiset当作平衡树用~ 注意,必须定义小于运算符. s.begin() 返回指向第一个元素的迭代器. s.end() 返回指向最后元素的后面那个虚拟元 ...
- 使用remove_constants工具查看Oracle是否使用绑定变量
https://asktom.oracle.com/pls/asktom/f?p=100:11:::::P11_QUESTION_ID:1163635055580 http://blog.csdn.n ...
- JavaScript——原生js实现瀑布流
瀑布流介绍及实现原理: 瀑布流是一种页面布局,页面上也有多等宽的块(块就页面内容),每一块都是绝对定位(absolute),每个块排列的方式如下:寻找现在高度最小的列,把该块定位到该列下方.需要知道, ...
- luogu4430 小猴打架
假硕讲了个prufer编码和Caylay公式 我为了证明prufer编码没用 所以用矩阵树定理证明了Caylay公式 让我们用矩阵树定理推一波 首先这个小猴打架最后会打成一棵树,这棵树是N个点的完全图 ...