XML文件
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); } }