XML
## XML :
1. 概念 : Extensible Markup Language 可扩展标记语言
*. 功能
* 存储数据
1. 作为配置文件
2. 在网络中传输
*. XML与HTML的区别
1. xml 标签都是自定义的, html标签是预定义
2. xml的语法严格, html语法松散
3. xml是存储数据的, html 是展示数据
2. 语法 :
* 基本语法
1. xml 文档的后缀名 .xml
2. xml 第一行必须定义文本声明
3. xml文档中有且仅有一个根标签
4. 属性值必须使用引号(单双都可以)引起来
5. 标签必须正确关闭
6. xml 标签名称区分大小写
* 组成部分
1. 文档声明
1. 格式<?xml 属性列表 ?>
2. 属性列表
* version : 版本号, 必须的属性
* encoding : 编码方式, 告知解析引擎当前文档使用的字符集 , 默认 ISO-8859-1
* standalone : 是否独立
2. 指令(了解) : 结合CSS的
* <?xml-stylesheet type="text/css" hrsf="a.css" ?>
3. 标签 : 标签名称自定义的
* 规则 :
*. 名称可以包含字母 , 数字以及其他的字符
* 名称不能以数字或标点符号开始
* 名称不能以字母 xml (或者 xml , XML 等等) 开始
* 名称不能包含空格
4. 属性
* id属性值唯一
5. 文本
* CDATA区 : 在该区域中的数据会被原样展示
* 格式 : <![CDATA[数据]]>
* 约束 : 规定xml文档的书写规则
* 作为框架的使用者(程序员) :
1. 能够在xml中引入约束文档
2. 能够简单的读懂约束文档
* 分类
1. DTD : 一种简单的约束技术
2. Schema : 一种复杂的约束技术
* DTD :
* 引入dtd文档到xml 文档中
* 内部dtd : 将约束规则定义在xml文档中
* 外部dtd : 将约束的规则定义在外部dtd文件中
* 本地 : <! DOCTYPE 根标签名 SYSTEM "dtd文件中的位置">
* 网络 : <! DOCTYPE 根标签名 PUBLIC "dtd文件中的位置">
3. 解析 : 操作xml文档, 将文档中的数据读取到内存中
* 操作xml文档
1. 解析(读取) : 将文档中的数据读取到内存中
2. 写入 : 将内存中的数据保存到xml文档中, 持久化的存储
* 解析xml的方式 :
1. DOM : 将标记语言文档一次性加载进内存, 在内存中形成一棵dom树
2. SAX