1.概念
Extersible Markup Language 可扩展标记语言
可扩展:标签都是自定义的 eg:< user >、< student >
2.功能
- 配置文件
- 在网络中传输
3.xml和html的区别
- xml的标签都是自定义的,html的标签都是预定义的
- xml的语法严格,html语法松散
- xml是存储数据的,html是展示数据
4.xml语法
- xml文档的后缀名 .xml
- xml第一行必须定义为文档声明
- xml文档中有且仅有一个根标签
- 属性值必须使用引号(单双都可)引起来
- 标签必须正确关闭
- 标签名称区分大小写
5.组成部分
1.文档声明
- 格式:<?xml 属性列表?>
- 属性列表:
version:版本号,必须的属性
encoding:编码方式,告知解析引擎当前文档使用的字符集,默认值:ISO-8859-1
standalone:是否独立(yes/no),文件比依赖于其他文件(约束)
2.指令(了解):结合CSS
3.标签:标签名称自定义的
4.属性:id属性值唯一
5.文本:
CDATA区:在该区域中的数据会被原样展示
格式:<![CDATA[数据]]>
6.约束条件
规定xml文档的书写规则
作为框架的使用者(程序员):
1.能够在xml中引入约束文档
2.能够简单的读懂约束文档
分类:
1.DTD:一种简单的约束技术
2.Schema:一种复杂的约束技术
7.解析xml文件
(1)解析(读取):将文档的数据读取到内存中
(2)写入:将内存中的数据保存到xml文档中,持久化的存储。
(1)DOM(服务器端常用):将标记语言文档一次性加载进内存,在内存中形成一棵dom树。
- 优点:操作方便,可以对文档进行CRUD的所有操作
- 缺点:占内存,形成的dom树比xml文档内存大很多
(2)SAX(移动端常用):逐行读取,基于事件驱动的
1.JAXP:sun公司提供的解析器,支持dom和sax两种思想
2.DOM4J:一款非常优秀的解析器
3.Jsoup:一款HTML解析器
4.PULL:Ansroid操作系统的内置解析器,sax方式