概念:Extensible Markup Language 可扩展标记语言 (标签自定义<Student>)
功能:配置文件(不同于properties纯文本,xml可以用标签限制)、在网络中传输
xml和html区别:1.xml标签自定义、html标签预定义
2.xml语法严格、html语法松散
3.xml是存储数据的,html展示数据
文本:CDATA区:在该区域中的数据会被原样展示 <![CDATA[ 代码块 ] ]>
xml约束:规定xml文档的书写规则
dtd约束:引入dtd文档到xml文档中 缺点:无法对属性的值做约束,如age可以赋1000,sex可以赋hehhe
操作:
schema约束:引入dtd文档到xml文档中 ,可以对每个属性的取值进行约束
Xml解析(读取)
方式:
DOM :将标记语言一次性加载进内存,在内存中形成一个dom树(常用于服务端)
优点:可以对文档进行CRUD的所有操作。 缺点:占内存,不适用于小内存设备
SAX:逐行读取并释放,基于事件驱动。(常用于移动端)
优点:内存中只有一行,内存小。 缺点:只能读取,不能增删改
解析器:Jsoup,html解析器,也可以解析xml
获取xml文件中某一行标签及对应的值:1.导入jar包 2.获取Document对象 3.获取Elements对象集合(get text方法)
相关对象:Jsoup:工具类,解析xml或html文档(parse方法),返回Document
Document:文档对象,代表内存中的dom树(所有标签)()
Elements:元素Element对象的集合,当作ArrayList对象(某一个标签的集合)
Node:Element和Document对象的父类
Selector选择器和Xpath(需要导入jar包,所以....)