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的更多相关文章

  1. SQL Server 2005的XML数据修改语言(XML DML)

    转:http://www.microsoft.com/china/msdn/library/data/sqlserver/XMLDML.mspx?mfr=true 作为对XQuery语言的扩展,XML ...

  2. C语言:XML学习

    说明:文章中代码是我参考别人的例子得来的. XML基础 一.XML的概念 Xml是一种可扩展标记语言.在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如 ...

  3. 使用go语言解析xml

    操作系统: CentOS 6.9_x64 go语言版本: 1.8.3 问题描述 现有一个自动报障程序,如果服务出错会自动给指定人发送邮件,配置文件内容如下(default.xml): <?xml ...

  4. ABP实战--修改语言配置XML至Json

    从ABP官网下载的Zero的多语言配置默认是使用XML文件的,实际使用中XML是没有Json简洁明了的,所以我们将其修改为Json格式. 修改MyLocalizationConfigurer.cs文件 ...

  5. c#学习笔记06——XML

    XML概述:eXtensible Markup Language,可扩展标记语言.网络应用开发的一项新技术.同HTML一样是一种标记语言,但是数据描述能力要强很多.XML具有描述所有已知未知数据的能力 ...

  6. C语言处理xml文件的库

    读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好. TinyXML是一个开源的解 ...

  7. C语言-06复杂数据类型-04 结构体

    结构体的说明(构造类型) 数组:只能由多个相同类型的数据构成 结构体:可以由多个不同类型的数据构成 ,结构体的类型是不存在的,自己定义 int main() { // 1.定义结构体类型 定义类型的时 ...

  8. 工作日志2014-06-10(实现C语言解析XML获得查询关键字)

    #include "GetInfo.h" ]; int GetInfoToWrite(char* path, char* domain,Write_t* pwrite); int ...

  9. .net中使用XPath语言在xml中判断是否存在节点值的方法

    book.xml<?xml version="1.0" encoding="utf-8" ?> <bookstore>  <boo ...

随机推荐

  1. Python 的web自动化测试

    安装selenium 上面python已安装完毕,接下来安装selenium. 安装selenium之前需安装些必要工具 1. 安装setuptools 下载地址:https://pypi.pytho ...

  2. 五、Centos linux系统优化-实战

    一.linux用户名和密码远程登陆的修改: windows默认的远程端口和管理员:user:administrator    prot:3389在管理--->本地用户和组   进行权限设置或者修 ...

  3. IE6 IE7 IE8 FF兼容符号

    2.区别IE8.IE9 一般来说,我们写的结构比较好的时候,IE8/9下是没区别的.所以可能很少人关注只有IE8或只有IE9才识别的css hack. 因为IE8及以下版本是不支持CSS3的,但是我们 ...

  4. Oracle TNS Listener Remote Poisoning

    Oracle TNS Listener Remote Poisoning 远程数据投毒漏洞(CVE-2012-1675) 1.漏洞简介: 允许攻击者在不提供用户名/密码的情况下,向远程“TNS Lis ...

  5. SLIP—串行线路上传输数据报的非标准协议

    目录 SLIP-串行线路上传输数据报的非标准协议 简介 历史 实用性 协议 不足之处 SLIP驱动程序 做了这么多年的程序员后,总想资源回收一下,写一点点什么,却又发现无从写起. SLIP-串行线路上 ...

  6. 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 ...

  7. 2018牛客多校2 - J farm 随机乱搞/二进制分组

    题意:给定n*m的格子,每个格子有不同的种类,q次操作,每次操作使[x1,y1]到[x2,y2]的格子除了k类型的以外都删除,最后单次询问所有格子被删了几个 官方题解提到了两种有意思的做法,随机和二进 ...

  8. (二)Audio子系统之new AudioRecord()(Android4.4)

    在上一篇文章<(一)Audio子系统之AudioRecord.getMinBufferSize>中已经介绍了AudioRecord如何获取最小缓冲区大小,接下来,继续分析AudioReco ...

  9. 4G模块在AM335x上的移植

    关于4G模块的移植  看到一个很实用的写的比较好的   借鉴一下 参考:https://e2echina.ti.com/question_answer/dsp_arm/sitara_arm/f/25/ ...

  10. ORC Files

    ORC 全称是Optimized Row Columnar,意思是优化的RC file,优化行列式. ORC 文件格式提供了一个很高效的方式来存储hive数据.它旨在克服其他hive文件格式的限制.当 ...