XML
1、概念
2、语法
3、解析
概念:Extensible MarKup Language 可扩展标记语言
可扩展:标签都是自定义的。
xml和html的区别:
xml标签自定义 html预定义
xml语法严格 html语法松散
xml储存数据 html是展示数据的
由于各家浏览器对html解析的能力不同,导致html语法不是标准也能执行,语法松散。
XML
XML功能:1、配置文件——2、在网络中传输
发现properties不方便查找同key 的内容,所以自定义标签用id区别
语法:
基本语法:
有且只有一个根标签:下面的users
快速入门:
组成部分:
文档声明。
格式:
属性列表:version版本号必须的属性 encoding :编码方式 告知解析的浏览器字符编码方式 standalone:是否独立。(1、yes:不依赖其他文件,no:依赖其他文件 大多数时候不设置)
指令。
结合css使用。
设计a.css美化样式文件。
标签。
- 名称可以含字母、数字以及其他的字符
- 名称不能以数字或者标点符号开始
- 名称不能以字符 “xml”(或者 XML、Xml)开始
- 名称不能包含空格
属性。
id属性值唯一:
文本。
标签之间的文本特殊字符需要转义。不方便看。
为了使他原样展示,放到cdata区里面
约束:
用户(程序员)编写——xml文档,半成品软件(框架解析文档)解析文档——
软件怎么知道用户写了什么标签,约束就产生。规定好了必须写什么才能解析(约束文档)——(框架编写的)
作为程序员
- 能够在xml引入约束文档
- 能够简单读懂约束文档
约束分类
DTD:
students唯一大标签里面可以写无数个student 规定student的属性name age sex 规定属性的值为字符串,设置唯一id,且必须写。
要写xml之前将dat文档引入
外部:约束规则在dtd文档中,
本地:
例子:
语法:
xml例子:
网络:
内部:约束规则在xml文档中
schema:
能约定对xml内容的限制——例如对年龄限制不能超100多。
了解,框架配置文件会带着xml,里面会自动导入schema约束。
可被多个文档约束,为约束起名字,方便区分标签是哪个约束文档的
解析方式——
操作xml文档,
1、解析:将文档的数据读取到内存中
2、写入 :将内存中的数据保存到xml文档中,持久化存储。
解析xml的方式
1、dom:将标记语言一次性加载进内存,形成dom树
优点:操作方便,可以对文档crud(增删改查)的操作
缺点:一次性加载——费内存(智能设备 冰箱 豆浆机 电视)
2、 SAX:逐行读取 ——读一行释放一行——基于事件的触发。
· 优点:不占内存
缺点:只能读取
常见解析器
对于以上两种解析思想,做出操作的工具。
jaxp :
DOM4J:
Jsoup:
PULL:安卓内置解析器
Jsoup:快速入门
- 导入jar包:将jar包放到自定义文件夹下,右键add as laibury
- 获取Document对象
-
对象的使用:
- Node是最大的
jsoup对象:
参数:
- 文件路径 字符集
- xml文件的整个内容
- 网页路径,等待时间
Document对象:html/xml文档内容
XML
执行文件
Element对象:元素对象。上面Document 获取的元素对象。xml/html文件中的某个内容。
方法:
快捷查询元素对象的方式
selector:选择器
接受一个css选择器 参考selector类的方法。document.select(css选择器_很多 div p,div>p 等等)
xpath:特殊用于xml查询的方法。 xml路径语言。w3cschool文档。
需要导入额外的jar包。 参考导包操作。
不支持jsoup对象语法。要创建JXDOCUMENT对象。
选取所有的student标签。 再则student标签下的name
Xpath参数路径表达式
完结撒花✿✿ヽ(°▽°)ノ✿✿✿ヽ(°▽°)ノ✿