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. Flex + Bison: Scanning from memory buffer

    Found from StackOverflow: ========================================================================== ...

  2. 数据库客户端工具Oracle SQL Developer

    Oracle SQL Developer是Oracle官方提供的数据库连接工具.不仅可以连接自己的数据库(Oracle),而且还可以连接多种其他的数据库(比如:Access.MySQL.SQL Ser ...

  3. OI题目类型总结整理

    ## 本蒟蒻的小整理qwq--持续更新(咕咕咕) 数据结构 数据结构 知识点梳理 数据结构--线段树 推荐yyb dalao的总结--戳我 以后维护线段树还是把l,r写到struct里面吧,也别写le ...

  4. 牛客网提高组模拟赛第七场 T2 随机生成树

    其实看懂题就很水啦qwq,就是求\(1-N\)的约数啦. 暴力求的话时间复杂度是\(O(NlogN)\)的,其实正解是枚举每个数的倍数......这样的时间复杂度是\(\frac{N}{1}+\fra ...

  5. 【OCP-12c】CUUG最新考试原题整理及答案(071-9)

    9.(5-5) choose the best answerView the Exhibit and examine the structure of the SALES and STORES tab ...

  6. “全栈2019”Java第九章:解释第一个程序

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  7. Ionic2使用百度地图API(JS)出现白屏解决方案

    最近自学ionic2,写了一个内嵌百度地图JS的demo,实际跑起来之后出现了大家常见的白屏问题.. 最初的实现是这样的: 首先主页内嵌了一个百度地图插件 <div id="Bmap& ...

  8. Spark - 经典案例

    初识 Spark 大数据处理,目前还只是小白阶段,初步搭建起运行环境,慢慢学习之. 本文熟悉下 Spark 数据处理的几个经典案例. 首先将 Scala SDK 的源码导入 IDEA,方便查看和调试代 ...

  9. JavaScript中setInterval的用法总结

    setInterval动作的作用是在播放动画的时,每隔一定时间就调用函数,方法或对象.可以使用本动作更新来自数据库的变量或更新时间显示. setInterval动作的语法格式如下:setInterva ...

  10. xcode - iPhone Debugging: How to resolve 'failed to get the task for process'? - Stack Overflow

    The program being debugged is not being run. Everyone sees this once in a while during Xcode develop ...