1 概念
1.1 xml Extensible markup Language 可拓展标记语言
1.2 功能 : 存储数据
1 配置文件
2 在网络中传输数据
1.3 html 和 xml 的区别
1 xml标记全是自定义的
2 xml的语法严格
3 xm 是存储数据 html 展示数据
2 语法
2.1 xml 文档的后缀名 是 xml
2.2 xml 第一行必须是定义的文档声明
<?xml version ="1.0" encoding="utf-8" standalone='no'?>
version 版本号 必须写的属性 encoding 编码方式 ISO-8859-1
Standalone 是否独立 yes : 不依赖其他文件
no: 依赖其他文件
2.3 xml文档 中有且只能有一个根标签
2.4 属性值必须用引号
2.5 标签必须关闭
2.6 xml标签区分大小写
2.7 约束 规定 xml 文档书写规则
作为框架的使用者
1 能够在xml 文件中引入约束文档
2 能够简单的读懂约束文档
2.7。1 约束分类
DTD 约束 相对来说简单
Schema 一种复杂的约束
3 解析 ****
操作xml文档 将文档中的数据读取到内存中
3.1 操作xml文档
3.1.1 读取 将文档中的数据读取到内存中
3.1.2 写入 将内存中的数据保存到xml文档中 持久
化存储
3.2解析xml的方式
3.2.1 dom 将标记语言一次性加载进内存 在内存中形成一颗DOM树 优点:操作方便 可以进行CRUD操作
缺点:消耗内存
3.2.2 SAX 逐行读取 基于事件驱动 不占内存 只能读取不能增删改
3.3 xml常见的解析器
3.3.1 JAXP sun公司解析器 支持dom和sax两种思想
3..3.2 DOM4J:
3.3.3 Jsoup 一套API 直接解析 url 地址 标记内容
3.3.4 PULL Android 操作系统内置的解析器 SAX 方式
3.4 Jsoup入门程序
1 导包
2获得Document 对象
3 获取对应的标签Element
4 获取数据
3.5 对象的使用
1. Jsoup 工具类可以解析xml html 文档 返回Document对象
parse解析文档
parse(URL url,int timeoutMills)
2 Document 文档对象 -----》获得Element
getElementByTag(“标签名”)
getElementById(String id);
获取属性值
String attr(String key); 根据属性名获取值
只想获得文本内容
String text();
String html(); 包括标签的字符串内容
3 selector: 选择器
select(String cssQuery)
package cn.lijun.jsoup;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.File;
import java.io.IOException;
public class Demo1Jsoup {
public static void main(String[] args) throws IOException {
// 2获得Document 对象
String path = Demo1Jsoup.class.getClassLoader().getResource("st.xml").getPath();
Document document = Jsoup.parse(new File(path), "utf-8");
// 3 获取对应的标签Element
Elements elements = document.getElementsByTag("name");
// System.out.println(elements);
System.out.println(elements.size());
Element name = elements.get(1);
// 4 获取数据
System.out.println(name);
}
}