一、 XML,Extensible Markup Language,扩展性标识语言。文件的后缀名为:.xml。就像HTML的作用是显示数据,XML 的作用 是传输和存储数据。
(一) 声明
在编写XML文档时,需要先使用文档声明,声明XML文档的类型。
最简单的声明语法 用encoding属性说明文档的字符编码
<?xml version="1.0" encoding="utf-8"?>
注:当XML文件中有中文时,必须使用encoding属性指明文档的字符编码
(二)元素
XML元素指XML文件中出现的标签,一个标签分为开始标签和结束标签,一个标签有如下几种书写形式
<网址>http://www.cnblogs.com/</网址>
<网址>
http://www.cnblogs.com/
</网址>
一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守下面的一些规范:
- 区分大小写,例如,<P>和<p>是两个不同的标记。
- 不能以数字或"_" (下划线)开头。
- 不能以xml(或XML、或Xml 等)开头。
- 不能包含空格。
- 名称中间不能包含冒号(:)
(三) 属性
一个标签可以有多个属性,每个属性都有它自己的名称和取值 (属性值一定要用双引号(")或单引号(')引起来,定义 属性必须遵循与标签相同的命名规范 。)
例:
<input name = ""></input> 或者 子标签表现形式
<input>
<name> text</name>
</input>
(四) 注释
<!--注释-->
注:声明之前不能有注释 ,注释不能嵌套
(五) 语法 CDATA区 (有些内容可能不想让解析引擎解析执行,而是当作原始内容处理,遇到此种情况,可以把这些内容放在 CDATA区里)
例:
<soft>
<![CDATA[
<a className="gacl.xdp">
<a1>gacl</a1>
<a2>xdp</a2>
</a>
]]>
</soft>
(六) 处理指令
简称PI (processing instruction)
处理指令必须以"<?"作为开头,以"?>"作为结尾
例:
<!--在XML文档中可以使用xml-stylesheet指令,通知XML解析引擎,应用country.css文件显示xml文档内容-->
<?xml-stylesheet type="text/css" href="country.css"?>
(七) 作用
传输和存储数据 为了便于不同应用、不同平台之间的数据共享和通信。XML的出生是为了完善HTML的缺陷和局限性。
具体点的作用为:
(1)可作为一种简单的数据库,存储并检索数据;
(2)传输约定格式的文件;
(3)做软件的配置文件。【配置文件:保存软件设置的文件】
(八) XML和HTML对比
(九) 数据结构 —— 树形结构 XML只能有一个根元素
(十) 转义字符 xml元素中不能存在< 解析器会当新标签做处理

(十一)解析方式及优缺点
1、DOM
解析器读入整个文档,然后构建一个驻留内存的树结构,使用 DOM 接口来操作这个树结构。
优点:整个文档树在内存中,便于操作;支持删除、修改、重新排列等多种功能;访问效率高。
缺点:将整个文档调入内存(包括无用的节点),浪费时间和空间;使用场合:一旦解析了文档还需多次访问这些数据; 硬件资源充足(内存、CPU)
2、SAX 特点:
1、解析效率高, 边读边解析,占用内存少,应用于大型XML文档
2、只支持读
3、访问效率低
4、顺序访问,可以随时停止解析
5.SAX解析xml文件采用的是事件驱动
3、PULL解析
优点:
1.小巧轻便, 解析速度快
2.采用的是事件驱动
3.占用内存少,访问效率高 |