# XML 概念
- XML:Extensible Markup Language 可扩展标记语言
- 可扩展:标签都是自定义的
user
student
- 功能:存储数据
- 配置文件
- 在网络中传输
- xml 与 html 的区别
- xml 标签都是自定义的,html 标签是预定义
- xml 的语法严格,html 语法松散
- xml 用于存储数据,html 用于展示数据
# XML 语法
- xml 文档的后缀名 .xml
- xml 第一行必须定义文档声明
- xml 文档中有且仅有一个根标签
- 属性值必须使用引号(单双都可以)引起来
- 标签必须正确关闭
- xml 标签名称区分大小写
# XML 组成部分
- 文档声明
- 格式:
<?xml 属性列表 ?>
- 属性列表:
- version:版本号,必须的属性
- encoding:编码方式,告知解析引擎当前文档使用的字符集,默认:ISO-8859-1
- standing:是否独立
- yes:不依赖其他文件
- no:依赖其他文件
- 格式:
- 指令:结合 css
- 标签:标签名称自定义
- 属性:id 属性值唯一
- 文本
- CDATA 区:在该区域中的数据会被原样展示
- CDATA 区的格式:
<![CDTA[ 数据 ]]
# XML 约束
# 约束概述
规定 xml 文档的书写规则
# 学习深度
- 能够在 xml 中引入约束文档
- 能够简单的读懂约束文档
# XML 约束分类
# DTD:一种简单的约束技术
引入 dtd 文档到 xml 文档中
- 内部 dtd:将约束规则定义在 xml 文档中
<!DOCTYPE 根标签名 SYSTEM "dtd文档位置">
- 外部 dtd:将约束的规则定义在外部 dtd 文件中
<!DOCTYPE 根标签名 PUBLIC "dtd文件名子" "dtd文件位置URL"
# Schema:一种复杂的约束技术
- 填写 xml 文档根元素
- 引入 xsi 前缀:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- 引入 xsd 文件命名空间:
xsi:schemaLocation="http://www.itcast.cn/xml student.xsd"
- 为每一个 xsd 约束声明一个前缀,作为标识:
xmlns="http://www.itcast.cn/xml"
<students xmlns:xsi="http://www.w3.org/2001/XMLLSchema-instance" | |
xmlns="http://www.itcast.cn/xml" | |
xsi:schemaLocation="http://www.itcast.cn/xml student.xsd" | |
> |
# XML 解析
# 解析
操作 xml 文档,将文档中的数据读取到内存中
# 操作 xml 文档
- 解析(读取):将文档中的数据读取到内存中
- 写入:将内存中的数据保存到 xml 文档中,持久化的存储
# 解析 xml 的方式
- DOM:将标记语言文档一次性加载进内存,在内存中形成一颗 dom 树
- 操作方便:可以对文档进行 CRUD 的所有操作
- 占内存
- SAX:逐行读取,基于事件驱动的
- 只能读取,不能增删改
- 不占内存