XML
一、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
- standalone:是否独立
- yes:不依赖其他文件
- no:依赖其他文件
- 格式:
- 指令(了解):结合css的
- 标签:标签名称自定义的
- 属性:id属性值唯一
- 文本
- CDATA区:在该区域中的数据会被原样展示
- CDATA区的格式:
<![CDATA[ 数据 ]]>
四、XML约束
1、约束概述
规定xml文档的书写规则
2、学习深度
- 能够在xml中引入约束文档
- 能够简单的读懂约束文档
3、XML约束分类
1)DTD:一种简单的约束技术
引入dtd文档到xml文档中
- 内部dtd:将约束规则定义在xml文档中
<!DOCTYPE 根标签名 SYSTEM "dtd文件的位置">
- 外部dtd:将约束的规则定义在外部的dtd文件中
<!DOCTYPE 根标签名 PUBLIC "dtd文件名字" "dtd文件的位置URL">
2)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"
xml
<students xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.itcast.cn/xml"
xsi:schemaLocation="http://www.itcast.cn/xml student.xsd"
>
五、XML解析
1、解析
操作xml文档,将文档中的数据读取到内存中
2、操作xml文档
- 解析(读取):将文档中的数据读取到内存中
- 写入:将内存中的数据保存到xml文档中。持久化的存储
3、解析xml的方式:
- DOM:将标记语言文档一次性加载进内存,在内存中形成一颗dom树
- 操作方便,可以对文档进行CRUD的所有操作
- 占内存
- SAX:逐行读取,基于事件驱动的
- 只能读取,不能增删改
- 不占内存