1、概念
Extensible Markup Language 可扩展标记语言,可扩展指的是标签都是自定义
2、功能:存储数据、描述数据
(1)作为配置文件来使用
(2)在网络中传输
3、xml和html的区别**
HTML(HyperTextMark-upLanguage)即超文本标记语言,是WWW的描述语言。
(1)语法要求不同,xml语法严格,html语法松散
(2)作用不同,HTML主要是用来展示数据,xml用来描述数据。
(3)标签定义不同,xml为自定义标签
4、下面展示一些 实例
`<?xml version='1.0` ?>``
<users>
<user>
<name>zhangsan</name>
<age>24<age>
<sex>man</sex>
</user>
</users>
5、基本语法
(1)文档后缀为.xml
(2)文档开始应该是声明xml标签和版本
(3)xml文档有且仅有一个根标签
(4)属性需要用引号
(5)必须要有开始和结束标签,正确关闭
(6)xml区分大小写
6、xml文档的组成部分
(1)文档声明
格式:<?xml 属性列表 ?>
属性列表: version(版本号)
encoding(编码方式)默认ISO-8859-1
standalone(是否独立) yes和no
(2)指令(结合CSS):
<?xml version='1.0` encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="user.css" ?>
<users>
<user>
<name>zhangsan</name>
<age>24<age>
<sex>man</sex>
</user>
</users>
(3)标签(自定义):
1、名称不可以以数字或者标点符号开始
2、名称不能包含空格
3、名称不能以xml开始
(4)属性
id属性值唯一
(5)文本:
1、特殊符号需要用到转义字符
2、CData区可以原样展示数据,格式<![CDATA[数据]>
7、约束文档
规定xml文档的书写规则
1、分类
(1)DTD简单的约束技术
(2)Schema复杂的约束技术(常用)
8、xml解析
1、解析(读取):讲文档的数据读取到内存中
2、写入:将内存中的数据保存到xml文档中。持久化存储
3、解析方式
(1)DOM:将标记语言文档一次性加载到内存,形成DOM树(操作方便且可以CURD的所有操作,但是因为DOM树结构占内存)
(2)SAX:逐行读取,基于事件驱动。(占用内存少,但是操作复杂,只能读取)
9、xml解析器
针对xml解析方式编写的工具包
1、JAXP:sun公司支持dom和sax两种思想
2、DOM4J
3、JSoup
4、PULL:android内置解析器,sax方式