使用C#进行XML文档读取
这节讲一下如何使用C#操作xml文档。操作xml类的命名空间在System.Xml下。
创建XML文件:
使用XmlDocument类来创建一个xml文档对象,我们通过对这个对象添加子元素来为xml文档添加元素。
由于xml文档需要文档声明:
所以在第一次创建xml文件的时候,我们要为文档对象添加这些声明,添加这些声明要使用XmlDocument.CreateXmlDeclaration()方法。调用AppendChild()方法将这个声明添加进去。
另外,由于xml的节点都要包含在根标签中,还要添加根标签元素,根标签名称可以任意(一般为root),但是不能以数字开头(在编程领域,一般都不会允许数字开头的名称),调用CreateElement("标签名")创建一个元素,同样的,调用AppendChild()添加进去:
如果是加载一个已有的xml文件,直接调用Load()方法即可:
写入数据:
接下来,就可以往根标签中添加子元素存储数据了,使用CreateElement("标签名")创建一个元素,调用该元素对象的SetAttribute("属性名", "属性值")设置它的属性值,获取值就用GetAttribute("属性名")。我们就通过这些属性来存放数据。
添加完元素后,调用Save()方法,传入路径,就保存下来了,文档内容如下:
读取数据:
对xml文档的读取需要使用XmlReader类,使用XmlReader.Create("文档路径")加载一个xml文档。
调用read()方法开始读取数据(这类似于SqlDataReader类),返回值为bool读到最后返回false,根据name判断读到的标签是不是自己需要的,如果需要就调用GetAttribute()获取到它的属性值。调用完要关闭对象,或者向下图一样用using块自动释放。
读取结果为:
技术群:添加小编微信并备注进群
小编微信:mm1552923
公众号:dotNet编程大全
使用C#进行XML文档读取相关推荐
- xml文档读取-SAX
由于dom采用的是将xml文档加载入内存进行处理的方式,如果xml文档较大,则会导致加载时间过长,效率降低的情况,因此,sun公司在JAXP中又添加了对SAX的支持: SAX,全称Simple API ...
- XML 解析XML文档 XML约束
XML 什么是XML Extensible Markup Language(可扩展的标记语言) 他是一个语言,有自己的语法,和Java以及其他的编程无关 "标记" 在文件中包含类似 ...
- 【Qt】DOM创建和操作XML文档
00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. 创建XML文档 04. 读取XML文档 05. 增加XML节点 06. 查找.删除.更新XML文档 07. 附录 01. ...
- C#读取与修改XML文档
在项目开发中,对XML文档的操作是很常用的,这里,简单的说明读取与修改XML文档 XML文档的格式 <?xml version="1.0" encoding="ut ...
- Qt 读取XML文档的简单示例
目录名字 XML简介 Qt 操作XML文档一般方法 使用DOM读取XML文档 示例代码:读取XML文档 XML简介 XML(Extensible Markup Language,可扩展标记语言)是一种 ...
- 【Qt】DOM读取XML文档
00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. XML文档示例 04. DOM读取XML文档内容 05. 预留 06. 附录 01. 概述 DOM(Document Ob ...
- [Qt教程] 第27篇 XML(一)使用DOM读取XML文档
[Qt教程] 第27篇 XML(一)使用DOM读取XML文档 楼主 发表于 2013-5-21 21:14:28 | 查看: 1001| 回复: 14 使用DOM读取XML文档 版权声明 该文章原创 ...
- C#来创建和读取XML文档 [转]
C#来创建和读取XML文档 [关键词]:XML 录入:小鱼之家 来源:http://fisher.xundain.com 时间:2005-3-3 23:41:54 点击:85次 扩展标记语言XML( ...
- 用C#读取XML文档
本文将以一个非常简单的例子来说明如何使用C#访问一个XML文件并且读取其中的信息.例子本身并无任何实际意义,它只是简单的介绍了如何调用微软的XML标准以及如何运用到实际当中去.希望能够对初次接触C#或 ...
最新文章
- 验证视图MAC失败 Validation of ViewState MAC Failed
- 运行里用\\加IP地址访问远程主机和用mstsc登录远程主机有什么区别??
- 基于firefly rk3399 Android 7.1实现的ros服务小机器人
- mapgis编辑属性结构编辑不了_MapGIS67操作手册(3-17)MapGIS67编辑线属性结构的方法...
- [music]Canon and Gigue in D major
- JavaScript Ajax
- git安装 perl ubuntu_Ubuntu系统上安装Git
- Sun Virtualbox说明文件的Bug
- 模拟美萍加密狗--Rockey2虚拟狗(一)
- 如何用css设置文字加粗,css如何设置文字加粗
- 库文件 c语言 编译器,抽取VS文件组成类GCC的编译器,并编译C程序为dll动态链接库...
- 应用程序-特定权限设置_在您的应用程序中管理付款:设置网站-代码
- (转)CGJ02、BD09、西安80、北京54、CGCS2000常用坐标系详解
- RxSwift学习(三)— Observer、Binder、Subjects、BehaviorRelay
- 阅读---读吴军博士《态度》有感
- Pillow透视变换进行图片纠偏
- Latex最后一页文本或参考文献左右对齐(平衡)
- uniapp微信小程序的各种弹框提示(轻提示)
- python极客项目编程pdf微盘下载_《Python极客项目编程 》——2.4 完整代码
- 【案例分析】Realme海外不同市场的差异化精准获客打法