XML
1.概念:Extensible Markup Language 可扩展标记语言
*可扩展:标签都是自定义的。
*功能: 存储数据 1.作为配置文件 2.在网络中传输
* XML和HTML的区别:XML最初是为了取代HTML,因为W3C觉得HTML语言过于松散随意,最终失败,走向与properties竞争。
A. XML标签都是自定义的,html标签是预定义;
B.XML的语法比较严格,HTML的语法松散;
C.XML是存储数据的,HTML是展示数据。
2.语法
实例:文件名user.xml
内容:
<?xml version="1.0"?> <users> <user> <name>张三</name> <age>1</age> </user> <user> <name>李四</name> <age>2</age> </user>
</users>
*基本语法:
1.XML文档的后缀名 .XML;
2.XML第一行必须定义为文档申明: 比如:<?xml version="1.0"?>
3.XML文档中有且仅有一个根标签;
4.属性值必须使用引号(单双都可以)引起来;
5.标签必须正确关闭;
6.XML标签名称区分大小写。
*组成部分:
1.文档声明:
1.格式:<?xml 属性列表?>
2.属性列表:
*version:版本号,必须的属性(必选项)
*encoding:编码方法,告知解析引擎当前文档使用的字符集,默认为:IOS-8859-1
*standalone: 是否独立(yes 不依赖其他文件; no依赖其他文件。(可以忽略不写))。
2.指令:结合CSS使用,控制样式,只作为一个了解
3.标签:标签采取自定义标签,只要符合以下规则即可:
规则:A.名称可以包含字母,数字以及其它字符
B.名称不能以数字或者标点符号开始
C.名称不能以字母XML三个大写或者小写的开头
D. 名称不能含有空格
4.属性:ID属性值唯一
5.文本:
*CDATA区:在该区域中的数据会被原样展示:
*格式:<![CDATA][数据]>
约束: 规定XML文档的书写规则
*作为框架的使用者程序员:1.能够在XML中引入约束文档 2.能够简单的读懂约束文档
约束分类:
*DTD:
*引入dtd文档到XML文档中
*内部dtd:将约束规则定义在XML文档中
*外部dtd :将约束的规则定义在外部的dtd文件中
*本地:<!DOCTYPE 根标签名 SYSTEM "dtd文件的位置">
*网络:<!DOCTYPE 根标签名 SYSTEM "dtd文件名字" "dtd文件的位置URL">
*Scherma
*引入:
1.填写XML文档的根元素;
2.引入xsi前缀. xmls:xsi="http://www.w3.org/2001/XMLSchema-stance";
3.引入xsd文件命名空间. xsi:schemaLocation="http://www.itcast.cn/xml student.xsd";
4.为每一个xsd约束声明一个前缀,作为标识 xmlns="http://wwww.itcast.cn/xml"。
3.解析:操作xml文档,将文档中的数据读取到内存中
*操作xml文档:
1.解析(读取):将文档中的数据读取到内存中
2.写入:将内存中的数据保存到XML文档中,持久化存储
*解析XML的方式:
1.DOM:将标记语言文档一次加载进内存,在内存中形成一颗dom树 // 服务器
*优点:操作方便,可以对文档进行CRUD(增删查改)所有操作
*缺点:占内存
2.SAX:逐行读取,基于事件驱动的(发生那个事件,操作哪个事件) // 移动端
*优点:几乎不占内存
*缺点:只能读取,不能修改