C#语言-06.XML
a. XML:称为可扩展标记性语言,它主要用于描述数据 i. 特点: 1. XML 中用于描述数据的各个节点可以自由扩展 2. XML 文件中的节点区分大小写 3. XML 中的每对标记通常被称为节点,它们是成对出现而且是必须成对出现的 4. XML 数据可以跨平台使用并可以被人阅读理解 5. XML 数据的内容和结构有明确的定义 6. XML 数据之间的关系得以强化 7. XML 数据的内容和数据的表现形式分离 8. XML 使用的结构是开放的,可扩展的 ii. 语法: 1. XML 的声明:声明必须要放在文档的第一行 a. 声明语法:<?xml version="1.0" encoding="GB2312"> b. Version 表示 XML 文档的版本号 c. encoding="GB2312" 代表文档使用的字符集为简体中文,BIG5代表为繁体中文 2. 处理指令 PI:为处理 XML 的应用程序提供信息 a. 格式为:<? 处理指令名 处理指令信息?> 3. XML 元素:是组成 XML 文档的核心 a. <标识>内容<标识> iii. 操作 XML 数据: 1. DOM:是一个程序接口,应用程序和脚本可以通过这个接口访问和修改 XML 文档数据 a. 基础类:包括了用来编写操作 XML 文档的应用程序所需要的类 i. XMLNode 类用来表示文档树中的单个节点 1. 属性: a. InnerText 属性:当前节点的值 b. Name 属性:当前节点的名字 c. ChildNodes 属性:当前节点的所有子节点 ii. XMLNodeList 类用来表示一个节点的有序集合 iii. XMLNamedNodeMap 类用来表示一个节点的集合 b. 扩展类:用来简化程序员的开发工作类 i. XMLDocument 类表示 XML 文档 1. 属性: a. DocumentElement 属性:获取根节点 b. ChildNodes 属性:获取所有的子节点 2. 方法: a. Load():读取整个 XML 的结构 2. 创建 XML 文档 a. 创建不带参数的 XmlDocument :XmlDocument doc=new XmlDocument(); b. 创建一个 XmlDocument 并将 XmlNameTable 作为参数传递给它:XmlDocument doc=new XmlDocument(XmlNameTable); i. XmlNameTable 类是原子化字符串对象的表,该表为 XML 分析器提供了一种高效的方法,即对 XML 文档中所有重复的元素和属性名使用相同的字符串对象 3. 保存 XML 文档:使用 XmlDocument 类的 Save() 方法来操作 4. 将XML 读入文档:使用 XmlDocument 类的 Load() 方法来操作 5. 选择节点 a. 两种方法: i. SelectSingleNode:返回符合选择条件的第一个节点 ii. SelectNodes:返回包含匹配节点的 XmlNodeList 6. 创建新节点:使用 XmlDocument 类的 Create() 方法来操作 7. 修改 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 创建一个新属性;如果存在属性,则更新属性值 8. 删除 XML 文档的节点、属性和内容 a. 删除节点:使用 RemoveChild 方法移除特定节点,如果要删除多个节点,使用 RemoveAll 方法移除当前节点的所有子级和属性 b. 删除属性集合中的属性:使用 XmlAttibuteCollection.Remove 方法移除特定属性,XmlAttibuteCollection.RemoveAll 方法移除集合中的所有属性 c. 删除节点的属性:可以使用 XmlDocument。RemoveAllAttributes 移除属性集合 d. 删除节点内容:可以使用 DeleteData 方法移除字符