js添加、修改、删除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>
js添加、修改、删除xml节点例子的更多相关文章
- C# 添加,修改,删除Xml节点 摘录
C# 添加,修改,删除Xml节点 //添加xml节点 private void AddXml(string image, string title) { XmlDocume ...
- 打通前后端全栈开发node+vue进阶【课程学习系统项目实战详细讲解】(3):用户添加/修改/删除 vue表格组件 vue分页组件
第三章 建议学习时间8小时 总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章] 演示地址:后台:demo ...
- JavaWeb_day03_员工信息添加修改删除
day03员工的添加,修改,删除 修改功能 思路 : 点击修改员工数据之后,跳转到单行文本,查询要修改的员工id的全部信息,主键id设置为readonly,其余的都可以修改, 修改之后,提交按钮,提交 ...
- 原生js添加和删除类
原生js添加和删除类: this.className +=" "; this.className = this.className.replace(" 原来的类" ...
- Web 1三级联动 下拉框 2添加修改删除 弹框
Web 三级联动 下拉框 using System; using System.Collections.Generic; using System.Linq; using System.Web; u ...
- SpringBoot定时任务升级篇(动态添加修改删除定时任务)
需求缘起:在发布了<Spring Boot定时任务升级篇>之后得到不少反馈,其中有一个反馈就是如何动态添加修改删除定时任务?那么我们一起看看具体怎么实现,先看下本节大纲: (1)思路说明: ...
- 【转】C#添加修改删除文件文件夹大全
[转]C#添加修改删除文件文件夹大全 C#添加修改删除文件文件夹大全 StreamWriter sw = File.AppendText(Server.MapPath(".")+& ...
- 添加、修改、删除XML节点代码例子
version="1.0" encoding="gb2312"?> . <bookstore> . <book genre=" ...
- C# 添加,修改,删除Xml节点
//添加xml节点 private void AddXml(string image, string title) { XmlDocument xmlDoc = new X ...
随机推荐
- X7-2存储节点操作系统盘上的变化
我们知道,在X7-2之前,存储节点的12块机械硬盘的前2块(LUN0和LUN1)中各划出33GB的分区来做RAID1,这个RAID1再划出小的分区来存放操作系统和存储软件等. 但从X7-2开始,这发生 ...
- Qt 学习之路 2(51):布尔表达式树模型
Qt 学习之路 2(51):布尔表达式树模型 豆子 2013年5月15日 Qt 学习之路 2 17条评论 本章将会是自定义模型的最后一部分.原本打算结束这部分内容,不过实在不忍心放弃这个示例.来自于 ...
- python学习之路---day008
文件操作一:文件操作01):文件读取:(r 只读) 001):我们先在当前文件夹内创建txt文件取名为123,在其中添加几句话内容. f 称之为文件句柄,控制着 123 这个文本文档 f=open(& ...
- 老男孩python作业2-购物车程序
购物车程序要求: 1.启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表 2.允许用户根据商品编号购买商品 3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 ...
- vue数据双向绑定的原理、虚拟dom的原理
vue数据双向绑定的原理https://www.cnblogs.com/libin-1/p/6893712.html 虚拟dom的原理https://blog.csdn.net/u010692018/ ...
- openmpi-3.0.1超线程报错问题
先简单记录一下,虽然还有一些疑惑没有解决. 之前安装openmpi是用的命令安装,版本比较低,mfix并行总出现死锁问题,于是想看看是不是openmpi版本导致,虽然目前还未找到具体原因,但是先记录下 ...
- Rebranding(模拟+思维)
The name of one small but proud corporation consists of n lowercase English letters. The Corporation ...
- 线性递推规律BM杜教
#include <cstdio> #include <cstring> #include <cmath> #include <algorithm> # ...
- HDU - 2089 数位DP 初步
中文题目,不要62和4 从高位往低位DP,注意有界标志limit的传递 dp2记忆有界情况下的计数结果,据说用处不大 我所参考的入门文章就是半搜索(有界)半记忆(无界)的 进阶指南中提出dfs维度有多 ...
- POJ - 1456 贪心 堆常用操作 注意细节
题意:给定n个商品的deadline和profit,求每天卖一件的情况下的最大获利 显然是一道贪心 按deadline从小到大排序好,动态维护小根(profit)堆的大小<=当前deadline ...