切换导航
首页
技术问答
编程语言
前端开发
移动开发
开发工具
程序设计
行业应用
CMS系统
服务器
频道导航
▸ PHP
▸ Java
▸ Java SE
▸ Python
▸ C#
▸ C&C++
▸ Ruby
▸ VB
▸ asp.Net
▸ Go
▸ Perl
▸ netty
▸ Django
▸ Delphi
▸ Jsp
▸ .NET Core
▸ Spring
▸ Flask
▸ Springboot
▸ SpringMVC
▸ Lua
▸ Laravel
▸ Mybatis
▸ Asp
▸ Groovy
▸ ThinkPHP
▸ Yii
▸ swoole
▸ HTML
▸ HTML5
▸ JavaScript
▸ CSS
▸ jQuery
▸ Bootstrap
▸ Angularjs
▸ TypeScript
▸ Vue
▸ Dojo
▸ Json
▸ Electron
▸ Node.js
▸ extjs
▸ Express
▸ XML
▸ ES6
▸ Ajax
▸ Flash
▸ Unity
▸ React
▸ Flex
▸ Ant Design
▸ Web前端
▸ 微信小程序
▸ 微信公众号
▸ iOS
▸ Android
▸ Swift
▸ Hybrid
▸ Cocos2d-x
▸ Flutter
▸ Xcode
▸ Silverlight
▸ cocoa
▸ Cordova
前端之家
XML
XML读、查、删
XML读、查、删
2020-05-26
XML
前端之家
前端之家
收集整理的这篇文章主要介绍了
XML读、查、删
,
前端之家
小编觉得挺不错的,现在分享给大家,也给大家做个参考。
上面我们学习了用XmlTextWriter
对象创建
一个XML文档,在本节里,将继续介绍如何在已有XML文档中
查询
和插入节点。下面示例在book.xml根节点下加入新的<Book>节点: XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load("book.xml"); //查找<Books> XmlNode root = xmlDoc.SelectSingleNode("Books"); //创建一个<Book>节点 XmlElement el = xmlDoc.CreateElement("Book"); //设置<Book>节点的
属性
BookName el.SetAttribute("BookName","Windows Application"); //创建<Book>节点的第一个下级节点 XmlElement elSubAuthor = xmlDoc.CreateElement("Author"); elSubAuthor.InnerText = "Jack"; el.AppendChild(elSubAuthor); //创建<Book>节点的第二个下级节点 XmlElement elSubPrice = xmlDoc.CreateElement("Price"); elSubPrice.InnerText = "70.00"; el.AppendChild(elSubPrice); //
添加
<Book>节点到<Books>中 root.AppendChild(el); xmlDoc.Save("book.xml"); 运行
代码
后,book.xml
代码
如下,加粗部分是新增的
代码
: <?xml version="1.0"?> <Books> <Book BookName=".NET框架"> <Author>Jim</Author> <Price>40.00</Price> </Book> <Book BookName="C#"> <Author>Tom</Author> <Price>60.00</Price> </Book> <Book BookName="ASP.NET"> <Author>David</Author> <Price>100.00</Price> </Book> <Book BookName="Windows Application"> <Author>Jack</Author> <Price>70.00</Price> </Book> </Books> 下面示例演示了如何
修改
XML节点: XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load("book.xml"); XmlNodeList nodeList = xmlDoc.SelectSingleNode("Books").ChildNodes; foreach (var node in nodeList) { XmlElement el = (XmlElement)node; if (el.GetAttribute("BookName") == "C#") { el.SetAttribute("BookName","精通C#"); } } xmlDoc.Save("book.xml"); 如果要
输出
book.xml文档中所有节点的
属性
和值,可以尝试在上例foreach中实现。 运行后,book.xml的
代码
如下,原来的“C#”被更改为了“精通C#”。 <?xml version="1.0"?> <Books> <Book BookName=".NET框架"> <Author>Jim</Author> <Price>40.00</Price> </Book> <Book BookName="精通C#"> <Author>Tom</Author> <Price>60.00</Price> </Book> <Book BookName="ASP.NET"> <Author>David</Author> <Price>100.00</Price> </Book> <Book BookName="Windows Application"> <Author>Jack</Author> <Price>70.00</Price> </Book> </Books> 如果要
删除
节点
属性
请使用RemoveAttribute
方法
,如果要
删除
节点请使用RemoveChild
方法
,也可以使用RemoveAll
方法
删除
所有节点。关于这类
方法
的使用不再赘述。 另外DataSet也可以读写XML
文件
: DataSet ds = new DataSet(); //
方法
有重载 ds.ReadXml(Server.MapPath("txt.xml")); //
方法
有重载 ds.WriteXml(Server.MapPath("txt.xml")); 将字符串保存为XML
文件
XmlDocument doc = new XmlDocument(); doc.LoadXml(txtXMLEditor.Text); doc.Save(Server.MapPath("XMLFile.xml")); C#创建XML文档、增删节点类: 复制
代码
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml; using System.IO; namespace OperateXml { public class XmlHelper { /// <summary> /// 创建XML
文件
/// </summary> /// <param name="fileName">XML
文件
路径和
文件
名</param> /// <param name="rootElement">XML
文件
根元素
名称
</param> public static void CreateXmlFile(string fileName,string rootElement) { if (!File.Exists(fileName)) { //创建Xml
文件
XmlTextWriter writer = new XmlTextWriter(fileName,Encoding.UTF8); //设置
自动
缩进 writer.Formatting = Formatting.Indented; //XML版本声明 writer.WriteStartDocument(); //根元素 writer.WriteStartElement(rootElement); //
关闭
根元素,并书写结束
标签
writer.WriteEndElement(); //将XML写入
文件
并且
关闭
XmlTextWriter实例对象 writer.Close(); } } /// <summary> ///
添加
XML数据 /// </summary> /// <param name="fileName">XML
文件
路径和
文件
名</param> /// <param name="rootElement">XML
文件
根元素
名称
</param> /// <param name="itemElement">XML
文件
二级元素
名称
</param> /// <param name="childElement">XML
文件
三级元素
名称
和值</param> public static void AppendChildElement(string fileName,string rootElement,string itemElement,Dictionary<string,string> childElement) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(fileName); XmlNode root = xmlDoc.SelectSingleNode(rootElement); XmlElement el = xmlDoc.CreateElement(itemElement); foreach(var item in childElement) { XmlElement elChild = xmlDoc.CreateElement(item.Key); elChild.InnerText = item.Value; el.AppendChild(elChild); } root.AppendChild(el); xmlDoc.Save(fileName); } /// <summary> ///
删除
数据行 /// </summary> /// <param name="fileName">XML
文件
</param> /// <param name="rowNode">顶级节点</param> /// <param name="elementID">要查找的三级节点的InnerText,根据此值
删除
二级节点(一条数据)</param> public static void RemoveRecord(string fileName,string rowNode,string elementID) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(fileName); XmlNodeList nodeList = xmlDoc.SelectSingleNode(rowNode).ChildNodes; foreach (XmlNode node in nodeList) { XmlElement el = (XmlElement)node; XmlNodeList nodeListChild = el.ChildNodes; foreach (XmlNode nodeChild in nodeListChild) { if (nodeChild.InnerText == elementID) { xmlDoc.SelectSingleNode(rowNode).RemoveChild(node); break; } } } xmlDoc.Save((fileName)); } } }
上一篇:settings.xml配置
下一篇:你听说过XML吗?
猜你在找的XML相关文章
10分钟掌握XML、JSON及其解析
引言 NOKIA 有句著名的广告语:“科技以人为本”。任何技术都是为了满足人的生产生活需要而...
作者:前端之家 时间:2020-08-12
[CXF REST标准实战系列] 一、JAXB xml与javaBean的转换
Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket Reprint it anywhere...
作者:前端之家 时间:2020-08-12
[CXF REST标准实战系列] 一、JAXB xml与javaBean的转换
Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket Reprint it anywhere...
作者:前端之家 时间:2020-08-12
10分钟掌握XML、JSON及其解析
http://blog.jobbole.com/79252/ 引言 NOKIA 有句著名的广告语:“科技以人为本”。任何技...
作者:前端之家 时间:2020-08-12
自定义圆形控件RoundImageView并认识一下attr.xml
(点击上方公众号,可快速关注) 公众号:smart_android 作者:耿广龙|loonggg 点击“阅读原...
作者:前端之家 时间:2020-08-12
10分钟掌握XML、JSON及其解析
引言 NOKIA 有句著名的广告语:“科技以人为本”。任何技术都是为了满足人的生产生活需要而...
作者:前端之家 时间:2020-08-12
10分钟掌握XML、JSON及其解析(上)
(点击上方公众号,可快速关注) 来源: Long Luo 的博客 链接:http://longluo.github.i...
作者:前端之家 时间:2020-08-12
10分钟掌握XML、JSON及其解析(中)
接上文 二、JSON XML很好很强大,但是最近有另外一个时代弄潮儿,这就是JSON。现在JSON的光...
作者:前端之家 时间:2020-08-12
10分钟掌握XML、JSON及其解析(下)
接上文 2.4 如何解析JSON? Android JSON所有相关类,都在org.json包下。 包括JSONObject、...
作者:前端之家 时间:2020-08-12
10分钟掌握XML、JSON及其解析
原文出处: Long Luo 的博客(@Long_Luo) 引言 NOKIA 有句著名的广告语:“科技以人...
作者:前端之家 时间:2020-08-12
编程分类
HTML
HTML5
JavaScript
CSS
jQuery
Bootstrap
Angularjs
TypeScript
Vue
Dojo
Json
Electron
Node.js
extjs
Express
XML
ES6
Ajax
Flash
Unity
React
Flex
Ant Design
Web前端
微信小程序
微信公众号
最新文章
• 10分钟掌握XML、JSON及其解
• [CXF REST标准实战系列] 一
• [CXF REST标准实战系列] 一
• 10分钟掌握XML、JSON及其解
• 自定义圆形控件RoundImage
• 【XML】
• 10分钟掌握XML、JSON及其解
• 10分钟掌握XML、JSON及其解
• 10分钟掌握XML、JSON及其解
• 10分钟掌握XML、JSON及其解
热门标签
更多 ►
关闭广告
单独headers
封装代码
提示错误
整数正则
非0开头
跳页
出页码
antd table
提示URL未注册
公众号支付
vue hash模式
iSlider
车牌键盘
循环图片
echarts 双折
左右布局
DllPlugin
对象创建
打字游戏
圈选
两栏
云函数
蒙版
ES2020
橱窗
无缝滚动轮播
色块碰撞
组件销毁
文档操作