文章目录
初识XML
一、什么是XML
XML概述
XML全称是:可扩展标记语言(EXtensible Markup Language),是用来传输和存储数据,XML是非常严格的标记语言。
1、XML的特点
- XML是一种标记语言类似于HTML。
- XML的设计宗旨是传输数据,而非HTML一样显示数据。
- XML标签没有被预定义,需要自行定义标签。
2、XML语法规则
结构规则:
- 是树形结构。
- 一定要有一个根标签。
标签语法规则:
- 所有 XML元素都须有关闭标签,即标签成双成对出现。
- XML标签对大小写敏感。
- XM 必须正确地嵌套。
- XML 的属性值须加引号(属性名=“属性值”)。
标签命名规则:
- 名称可以含字母、数字以及其他的字符。
- 名称不能以数字或者标点符号开始。
- 名称不能以字符 “xml”或与其大小写(XML、Xml)开始。
- 名称不能包含空格。
示例
<?xml version="1.0" encoding="utf-8" ?>
<Engineer>
<ID>1002</ID>
<Name>张靓</Name>
<Age>20</Age>
<ID>1001</ID
<Name>周杰</Name>
<Age>22</Age>
</Engineer>
3、XML没有任何行为
XML被设计用来结构化、存储以及传输信息,但是XML并不会有任何的动作,相当于一个txt的纯文本文件。
二、在C#中XML的读取
1、new XmlDocuemnt对象
XmlDocuemnt对象的属性和方法
属性和方法 | 说明 |
---|---|
DocumentElement(属性) | 获取根节点 |
ChildNodes(属性) | 获取所有的子节点 |
Load(文件路径)(方法) | 读取整个XML的结构 |
在C#中,读取XML需要用到XmlDocuemnt对象,在创建之前需要导入命名空间:System.Xml。它可以用Load方法读取XML文件的全部内容。
2、读取节点
在读取到整个XML文件后我们需要把其中的内容分类,并找到我们所需的内容。
2.1 读取根节点
语法
XmlNode node = xmlD.DocuementElement;
XmlElement ele = xmlD.DocuementElement;
在通过XmlDocuemnt对象的DocumentElement属性得到根节点后需要XmlNode或XmlElement类型来接收。
XmlNode和XmlElement的属性
属性 | 说明 |
---|---|
InnerText | 得到节点文本元素 |
Name | 得到节点的名称 |
ChildNodes | 得到所有的子节点 |
XmlElement[] | 得到子节点的下属子节点 |
Attributes[“key的名字”].Value | 得到属性的值 |
GetAttribute(key的名字)(方法) | 得到方法的值(XmlElement独有的方法) |
2.2 读取子节点
示例
XmlDocument xml = new XmlDocument();
xml.Load(@"D:\project\S2\01 C#OOP\ch08\yx\XML文档\FullChannels.xml");
XmlElement xmlRoot = xml.DocumentElement;
foreach (XmlNode item in xmlRoot.ChildNodes)
{
Console.WriteLine(item["channelType"].InnerText + "\t"+ item["tvChannel"].InnerText + "\t" + item["path"].InnerText);
}
Console.ReadLine();
使用foreach可以读取每一个子节点和其中的值,也可以得到子节点的名称。
3、XmlNode和XmlElement区别
XmlNode是一个抽象的类,而XmlElement是XmlNode的子类,所以也有了一个独有的方法GetAttribute。
三、总结
XML的以上都是入门,如果需要更加深入还要参考不少的文档。希望大家能一直努力下去。