C#语言-06.XML
a. XML:称为可扩展标记性语言,它主要用于描述数据
i. 特点:
. XML 中用于描述数据的各个节点可以自由扩展
. XML 文件中的节点区分大小写
. XML 中的每对标记通常被称为节点,它们是成对出现而且是必须成对出现的
. XML 数据可以跨平台使用并可以被人阅读理解
. XML 数据的内容和结构有明确的定义
. XML 数据之间的关系得以强化
. XML 数据的内容和数据的表现形式分离
. XML 使用的结构是开放的,可扩展的
ii. 语法:
. XML 的声明:声明必须要放在文档的第一行
a. 声明语法:<?xml version="1.0" encoding="GB2312">
b. Version 表示 XML 文档的版本号
c. encoding="GB2312" 代表文档使用的字符集为简体中文,BIG5代表为繁体中文
. 处理指令 PI:为处理 XML 的应用程序提供信息
a. 格式为:<? 处理指令名 处理指令信息?>
. XML 元素:是组成 XML 文档的核心
a. <标识>内容<标识>
iii. 操作 XML 数据:
. DOM:是一个程序接口,应用程序和脚本可以通过这个接口访问和修改 XML 文档数据
a. 基础类:包括了用来编写操作 XML 文档的应用程序所需要的类
i. XMLNode 类用来表示文档树中的单个节点
. 属性:
a. InnerText 属性:当前节点的值
b. Name 属性:当前节点的名字
c. ChildNodes 属性:当前节点的所有子节点
ii. XMLNodeList 类用来表示一个节点的有序集合
iii. XMLNamedNodeMap 类用来表示一个节点的集合
b. 扩展类:用来简化程序员的开发工作类
i. XMLDocument 类表示 XML 文档
. 属性:
a. DocumentElement 属性:获取根节点
b. ChildNodes 属性:获取所有的子节点
. 方法:
a. Load():读取整个 XML 的结构
. 创建 XML 文档
a. 创建不带参数的 XmlDocument :XmlDocument doc=new XmlDocument();
b. 创建一个 XmlDocument 并将 XmlNameTable 作为参数传递给它:XmlDocument doc=new XmlDocument(XmlNameTable);
i. XmlNameTable 类是原子化字符串对象的表,该表为 XML 分析器提供了一种高效的方法,即对 XML 文档中所有重复的元素和属性名使用相同的字符串对象
. 保存 XML 文档:使用 XmlDocument 类的 Save() 方法来操作
. 将XML 读入文档:使用 XmlDocument 类的 Load() 方法来操作
. 选择节点
a. 两种方法:
i. SelectSingleNode:返回符合选择条件的第一个节点
ii. SelectNodes:返回包含匹配节点的 XmlNodeList
. 创建新节点:使用 XmlDocument 类的 Create() 方法来操作
. 修改 XML 文档
a. 常用方法如下:
i. 使用 XmlNode.Value 方法更改节点值
ii. 通过用新节点替换节点来修改全部节点集,这可使用 XmlNode.InnerXml 属性来完成
iii. 通过 XmlNode.ReplaceChild 方法用新节点替换现有节点
iv. 使用 XmlCharacterData.AppendData 方法、XmlCharacterData.InsertData 方法或 XmlCharacterData.ReplaceData 方法将附加字符添加到从 XmlCharacter 类继承的节点
v. 对从 XmlCharacterData 继承的节点类型使用 DeleteData 方法移除某个范围的字符来修改内容
vi. 使用 SetAttribute 方法更新属性值,如果不存在属性,SetAttribute 创建一个新属性;如果存在属性,则更新属性值
. 删除 XML 文档的节点、属性和内容
a. 删除节点:使用 RemoveChild 方法移除特定节点,如果要删除多个节点,使用 RemoveAll 方法移除当前节点的所有子级和属性
b. 删除属性集合中的属性:使用 XmlAttibuteCollection.Remove 方法移除特定属性,XmlAttibuteCollection.RemoveAll 方法移除集合中的所有属性
c. 删除节点的属性:可以使用 XmlDocument。RemoveAllAttributes 移除属性集合
d. 删除节点内容:可以使用 DeleteData 方法移除字符
C#语言-06.XML的更多相关文章
- SQL Server 2005的XML数据修改语言(XML DML)
转:http://www.microsoft.com/china/msdn/library/data/sqlserver/XMLDML.mspx?mfr=true 作为对XQuery语言的扩展,XML ...
- C语言:XML学习
说明:文章中代码是我参考别人的例子得来的. XML基础 一.XML的概念 Xml是一种可扩展标记语言.在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如 ...
- 使用go语言解析xml
操作系统: CentOS 6.9_x64 go语言版本: 1.8.3 问题描述 现有一个自动报障程序,如果服务出错会自动给指定人发送邮件,配置文件内容如下(default.xml): <?xml ...
- ABP实战--修改语言配置XML至Json
从ABP官网下载的Zero的多语言配置默认是使用XML文件的,实际使用中XML是没有Json简洁明了的,所以我们将其修改为Json格式. 修改MyLocalizationConfigurer.cs文件 ...
- c#学习笔记06——XML
XML概述:eXtensible Markup Language,可扩展标记语言.网络应用开发的一项新技术.同HTML一样是一种标记语言,但是数据描述能力要强很多.XML具有描述所有已知未知数据的能力 ...
- C语言处理xml文件的库
读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好. TinyXML是一个开源的解 ...
- C语言-06复杂数据类型-04 结构体
结构体的说明(构造类型) 数组:只能由多个相同类型的数据构成 结构体:可以由多个不同类型的数据构成 ,结构体的类型是不存在的,自己定义 int main() { // 1.定义结构体类型 定义类型的时 ...
- 工作日志2014-06-10(实现C语言解析XML获得查询关键字)
#include "GetInfo.h" ]; int GetInfoToWrite(char* path, char* domain,Write_t* pwrite); int ...
- .net中使用XPath语言在xml中判断是否存在节点值的方法
book.xml<?xml version="1.0" encoding="utf-8" ?> <bookstore> <boo ...
随机推荐
- Python 的web自动化测试
安装selenium 上面python已安装完毕,接下来安装selenium. 安装selenium之前需安装些必要工具 1. 安装setuptools 下载地址:https://pypi.pytho ...
- 五、Centos linux系统优化-实战
一.linux用户名和密码远程登陆的修改: windows默认的远程端口和管理员:user:administrator prot:3389在管理--->本地用户和组 进行权限设置或者修 ...
- IE6 IE7 IE8 FF兼容符号
2.区别IE8.IE9 一般来说,我们写的结构比较好的时候,IE8/9下是没区别的.所以可能很少人关注只有IE8或只有IE9才识别的css hack. 因为IE8及以下版本是不支持CSS3的,但是我们 ...
- Oracle TNS Listener Remote Poisoning
Oracle TNS Listener Remote Poisoning 远程数据投毒漏洞(CVE-2012-1675) 1.漏洞简介: 允许攻击者在不提供用户名/密码的情况下,向远程“TNS Lis ...
- SLIP—串行线路上传输数据报的非标准协议
目录 SLIP-串行线路上传输数据报的非标准协议 简介 历史 实用性 协议 不足之处 SLIP驱动程序 做了这么多年的程序员后,总想资源回收一下,写一点点什么,却又发现无从写起. SLIP-串行线路上 ...
- Linux Python import jenkins 报错 oserror: /usr/lib/python2.7/site-packages/lookup3.so
安装了jenkins和Python-jenkins后,在脚本中import jenkins会报错:oserror: /usr/lib/python2.7/site-packages/lookup3.s ...
- 2018牛客多校2 - J farm 随机乱搞/二进制分组
题意:给定n*m的格子,每个格子有不同的种类,q次操作,每次操作使[x1,y1]到[x2,y2]的格子除了k类型的以外都删除,最后单次询问所有格子被删了几个 官方题解提到了两种有意思的做法,随机和二进 ...
- (二)Audio子系统之new AudioRecord()(Android4.4)
在上一篇文章<(一)Audio子系统之AudioRecord.getMinBufferSize>中已经介绍了AudioRecord如何获取最小缓冲区大小,接下来,继续分析AudioReco ...
- 4G模块在AM335x上的移植
关于4G模块的移植 看到一个很实用的写的比较好的 借鉴一下 参考:https://e2echina.ti.com/question_answer/dsp_arm/sitara_arm/f/25/ ...
- ORC Files
ORC 全称是Optimized Row Columnar,意思是优化的RC file,优化行列式. ORC 文件格式提供了一个很高效的方式来存储hive数据.它旨在克服其他hive文件格式的限制.当 ...