【XML】
1.概念:Extensible Markup Language 可扩展标记语言
*可扩展:自定义标签
2.功能:
*存储数据
1.配置文件
2.在网络中传输
*xml与html区别:
1.xml的标签都是自定义的,html的标签是预定义的
2.xml的语法是严格的,html语法松散
3.xml是存贮数据的,html是展示数据的
语法:<?xml version='1.0' ? >
<users>
<user>
<name>...</name>
<age>...</age>
<gender>...</gender>
</user>
</users>
*基本语法:
1.xml文档的后缀名 .xml
2.xml文档有且只有一个根标签
3.xml第一行必须定义为文档声明
4.属性值必须使用引号引起来
5.标签必须正确关闭
6.xml标签必须区分大小写
*组成部分:
1.文档声明:
格式:<? version='1.0'?>
属性列表:
version:版本号,必须属性
encoding:编码方式 默认值:ISO-8859-1
standalone:是否独立
*取值
yes:不依赖其他文件
no:依赖其他文件
2.指令:结合css文件
3.标签:自定义标签
1.可以包含数字字母下划线
2.不能以数字或者标点符号开始
3.不能以字母xml(或者XML等)开头
4.名称不能包含空格
4.属性:id属性值唯一
5.文本:
*DATA区:在该区域中的数据会被原样展示
*格式:<! [ DATA[数据 ] ] >
*约束:规定xml文档的书写规则
*分类: 1.DTD:一种简单的约束技术
2.schema:一种复杂的约束技术
*DTD:*引入dtd文档到xml文档中
*内部dtd:将约束规则定义在xml文档中
*外部dtd:将约束骨子额定义在外部的dtd文件中
*解析:操作xml文档,将文档中的数据读取到内存中
*操作xml文档:
1.解析:将文档中的数据读取到内存中
2.写入:将内存中的数据保存到xml文档中,持久化的存储
*解析xml的方式:
1.DOM:将标记语言文档一次性加载在内存,在内存中形成DOM树
*优点:操作方便。可以对文档进行crud的所有操作
*缺点:比较消耗内存,不适用内存较小的设备
2.SAX:逐行读取,基于事件驱动
*优点:不占内存
*缺点:只能读取,不能增删改
备注:在pc端一般使用DOM思想,在移动端一般使用SAX思想
*xml常见解析器
1.JAXP:孙公司提供的解析器,支持dom和sax两种思想
2.DOM4J:一款很优秀的解析器,基于DOM
思想来解析xml
3.Jsoup:一款java的html解析器
4.PULL:Android操作系统的内置解析器
*Jsoup:
步骤:
1.导入jar包
2.获取Document对象
3.获取对应的标签Element对象
*对象的使用:
1.Jsoup:工具类,可以解析html或xml文档,返回Document
*parse();解析html或xml文档的
2.Document:文档对象。代表内存中的DOM树
*getElementByTag(String tagName):根据标签名称获取对象集合
3.Elements:元素Element对象的结合。可以当做ArrayList<ELement>来使用
4.Element:元素对象
1.获取子元素对象
2.获取属性值
3.获取文本内容
5.Node:节点对象
*快捷查询方式:
1.selector:选择器
*使用方法:Element select();
2.XPath:用于xml查询的特殊语法
使用Jsoup的XPath
|
|