XML基础
一、概念
XML称为可扩展标记性语言。用于解决跨平台、跨操作系统的数据交互问题。XML文件用于描述数据,是当前处理结构化文档信息的有力工具。XML与操作系统、编程语言的开发平台无关,可以实现不同系统之间的数据交互。XML应用广泛,最基本的如网站、应用程序的配置信息一般都采用XML文件描述。
特点:
- XML 是一种标记语言,类似 HTML
- XML 标签没有被预定义,所有的标签都是自定义的
- XMl是用于存储和传输数据的文档
- XMl是纯文本,是不作为的
二、XML的结构以及语法
XML文件是使用标签来进行描述的,每对标签通常被称为节点。XML文档第一行是声明,如下所示:
<?xml version = "1.0" encoding = "UTF-8" ?>
XML声明由以下两个部分组成:
- version:文档符合XML1.0B规范
- encoding:文档字符编码,默认为“UTF-8”
XML是树形结构的,所以XML必须要有根节点,不然就会异常
节点的命名规则:
- 由字母、数字以及其他字符组成
- 名称不能以数字或者标点符号开头
- 名称不能以字符 “xml”(或者 XML、Xml)开头
- 名称不能包含空格以及其他特殊字符
- 区分大小写
XML的语法规则:
- 所有的XML元素都必须有关闭标签
- XML标签对大小写敏感
- XML标签必须正确嵌套
- XML文件必须有根标签
三、XML和HTML的对比
相同点:标记语言
不同点:作用不同、语法不同
作用:
XML:被设计用于存储和传输数据
HTML:是一种超文本标记语言,用于展示和修改数据
语法:
XML:要求标签必须成对出现,区分大小写
HTML:不要求标签成对出现,并且不区分大小写
四:C#读取XML
1.读取步骤
1.1、声明XMLDocument对象。需要导入System.Xml命名空间
XMLDocument xmlD = new XMLDocument()
1.2、加载xml文件
xmlD.Load("xml文件路径");
1.3.读取xml的根节点
XmlNode/XmlElement xmlNode = xmlD.DocumentElement;
1.4.遍历子节点,[]指定节点访问
foreach(XmlNOde node in xmlNode)
{
node.innerText; //遍历所有子节点
node["标签名"].InnerText //指定哪个子节点访问
}
2.XMLDocument与XmlNode的主要属性和方法
对象 | 属性和方法 | 说明 |
---|---|---|
XmlDocument | DocumentElement 属性 | 获取根节点 |
ChildNodes 属性 | 获取所有子节点 | |
Load() 方法 | 读取整个XML的结构 | |
XmlNode | InnerText 属性 | 当前节点的值 |
Name 属性 | 当前节点的名称 | |
ChildNodes 属性 | 当前节点的所有子节点 |
3.XmlNode与XmlElement的区别
- XmlNode是XmlElement的父类
- XmlNode是abstract类,XmlElement是class类
- XmlElement独有方法:GetAttribute(key的名字)获取属性值