XML:
1、概念:Extensible Markup Language 可扩展标记语言。
* 可扩展:标签是自定义的。
2、功能:存储数据 : * 配置文件 。 * 在网络中传输。
3、语法:
* 基本语法:1、后缀名:.xml
2、第一行必须写文档声明:
3、xml文档中有且仅有一个根标签。
4、属性值必须用引号引起来。
5、标签必须正确关闭。
6、标签区分大小写。
* 组成部分:1、文档声明 <?xml version='1.0' ?>
属性列表:version(必须) encoding standalone (yes,no)
2、命名规则:
3、属性:id属性值唯一。
4、文本:CDATA
* 约束 :规定xml文档的书写规则。
* 分类:1、DTD:一种简单的约束技术
2、Schema:一种复杂的约束技术
* DTD使用:1、引入文档:* 内部dtd:将约束定义在xml文档中 (不常用)
* 外部dtd:约束定义在外部dtd文件中:
1、本地 <! DOCTYPE 根标签名 SYSTEM “文件位置”>
2、网络<! DOCTYPE 根标签名 PUBLIC “URL”>
*Schema使用:更复杂,可以限制更多的东西,比如属性取值范围.
3,解析:将xml文档中的数据读取到内存中 .
* 方式: 1. DOM:将标记语言文档一次性加载到内存中,在内存中形成一颗DOM树
* 优点:操作方便,可以对文档进行CRUD操作 * 缺点: 占内存.
2. SAX :逐行读取,基于事件驱动. 优点: 不占内存 缺点 :只能读取 不能修改.
* 常见解析器: 1.JAXP:sun的. 较差
2. DOM4J: 优秀的解析器
3. Jsoup:
* Jsoup 的使用:
1. 快速入门: * 导包 *获取Document对象 *获取对应标签Element对象 * 获取数据.
2.对象的使用:
* Jsoup:工具类,可以解析文档,返回Document.
parse:解析文档,返回Document: parse(File in ,String charseName)
* Document:文档对象.代表内存中的dom树.
getElementByTag() 根据标签名回去元素集合.ByAttribute ByAttributeValue
* Elements:元素Element对象的集合 ArrayList
* Element:元素对象
1.获取子元素对象 getElementBy.....
2.获取属性值:attr(String key) 根据属性名称获取属性值
3.获取文本内容 String text()
* Node: 节点对象
2、快捷查询方式:
* selector:选择器 使用方法:Element select(String cssQuery)通过文档写查询语法。
* XPath:用来确定XML某部分的语言。使用Jsoup的xpath需要另外导包,然后查询w3c来写查询。