本帖最后由 小石姐姐 于 2018-11-2 10:02 编辑
day12-xmlxml 1. xml概述 2. xml的约束(DTD和SCHEMA) 3. xml的解析(JSOUP) 一.xml概述(extensiable markup language)== 什么是xml: 可扩展的标记语言。 l 可扩展:标记可以随意自定义(满足语法规范) l 标记:通俗的来讲,就是标签。比如<a>点击</a> xml作用(存数据) l 1.作为配置文件(比如c3p0-config.xml配置文件) l 2.作为传输数据的格式(比如国家气象局会把天气数据通过xml格式传输其它网站) 什么是html: 超文本标记语言。 在html里面,因为html里面标签已经定义好了,不能随意书写。 html作用:展示内容给用户看的。 ==语法规范 1. 区分大小写 2. 只允许一个根标签 3. 标签合理嵌套,合理关闭。 比如 <age>12<age/> 错误的写法,<age>12</age>正确的写法 ==组成: 1. 文档声明: <?xml version="1.0"encoding="utf-8"?> 文档声明的位置:第一行第一列 2. 标签 3. 属性 4. 文本 二.约束(了解) 约束作用:规定在xml文档里面,什么可以写,什么不能书写。 三. xml的解析(掌握)xml解析思想: 1. Dom解析 特点:一次性加载整个xml文件,到内存中,生成一个dom树型结构 这个dom树保留了标签与标签之间的关系(父子) 优点:对xml里面的所有标签进行crud操作。 缺点:可能会内存溢出。 2. Sax解析: 特点:一次只解析一行,内存中只保留了一行。 sax解析不能对xml的标签进行增删改操作。 3. 解析器(具体的解析技术) ==Dom思想具体的解析技术 1. dom4j 2. jaxp 3. jdom 4. jsoup ==Sax思想具体的解析技术 1. sax 2. pull(在Android开中,通常用pull解析) == jsoup具体解析xml. 实现步骤: 步骤一:导入jsoup.jar包 步骤二:前提:加载xml文件,获取对应的document对象。 步骤三:根据document对象,得到想要操作的标签对象(Element) [HTML] 纯文本查看 复制代码 比如:Elements es = document.getElementsByTag(“name”);[/align]List<Element> es = document.getElementsByTag(“name”);
Element element = es.get(0); 接下来:获取属性值或者获取标签体内容。 [HTML] 纯文本查看 复制代码 <name first=”j”>tom</name>
String tom = element.text();
String attr = element.attr(“属性名称”); == 常见的api: 1. Jsoup工具类: 作用:解析标记性文档(xml和html),得到Document对象 常用的方法: == parse(File f, String charsetName); == parse(URL url, int times); 2. Document文档对象 常用方法:获取标签对象 如: [HTML] 纯文本查看 复制代码 [url=] Element getElementById[/url](String id)
[url=]Elements[/url] [url=]getElementsByTag[/url](String tagName)
Elements getElementsByAttribute(String key) 3. Element 标签对象 常用方法: == 获取子标签(子元素对象) == 获取属性和文本的值: n 获取属性值: attr(“属性名称”); n 获取文本值: text();
|