初识XML
1.XMl概述
1.1为什么学习XML
在工作中,难免会遇到不同平台,不同操作系统之间的数据交互,这时该如何实现?
这种问题就可以通过XML解决。
1.2什么是XML
- XML 指可扩展标记语言(EXtensible Markup Language)
- XML 的设计宗旨是传输数据,而非显示数据(作用)
- XML 被设计为具有自我描述性。
- XML 是 W3C 的推荐标准
- XMl是纯文本,是不作为的
1.3XML的特点
- XML 是一种标记语言,很类似 HTML
- XML 标签没有被预定义。需要自行定义标签
- XMl用于传输数据
- 可扩展标记语言
1.4XML语法
结构:
- XML是一个树结构
- 一定要有根标签
语法规则:
- 所有的XML元素都必须有关闭标签
- XML标签对大小写敏感
- XML必须正确嵌套
- XML文件必须有根标签
- 属性值加引号
标签命名规则:
- 名称可以含字母、数字以及其他的字符
- 名称不能以数字或者标点符号开始
- 名称不能以字符 “xml”(或者 XML、Xml)开始
- 名称不能包含空格
1.5XML和HTML的差异
相同点:标记语言
不同点:
XML 不是 HTML 的替代。
XML 和 HTML 为不同的目的而设计:
XML 被设计为传输和存储数据,其焦点是数据的内容。
HTML 被设计用来显示数据,其焦点是数据的外观。
HTML 旨在显示信息,而 XML 旨在传输信息。
1.6特殊意义
在 XML 中有 5 个预定义的实体引用:
< | < | 小于 |
---|---|---|
> | > | 大于 |
& | & | 和号 |
&apos | ’ | 省略号 |
" | " | 引号 |
说明:结尾需要加分号";"
转义字符:“\”
2.C#如何读取XML
2.1.读取步骤
1、声明XMLDocument对象(System.Xml)
XMLDocument xmlD = new XMLDocument()
2、加载xml文件
xmlD.Load("xml文件路径");
3.读取xml的根节点
XmlNOde node = xmlD.DocumentElement;
XmlElement node = xmlD.DocumentElement;
4.遍历子节点
foreach(XmlNOde node in node)
{
node.innerText;
node["标签名"].InnerText
}
2.2.XMLDocument与XmlNOde
对象 | 属性和方法 | 说明 |
---|---|---|
XMLDocument | DocumentElement | 获取根节点 |
ChildNodes | 获取所有子节点 | |
Load() | 读取整个xml文件 | |
XmlNOde | InnerText | 当前节点得值 |
Name | 当前节点名称 | |
ChildNodes | 当前节点得所有子节点 |
2.3.XmlNOde与XmlElement
- XmlNOde是XmlElement的父类
- XmlNOde是抽象类,XmlElement类
- XmlElement独有属性:GetAttribute(获取属性值)
- XmlNOde获取属性值通过:node[“标签名”].GetAttribute