黑马程序员技术交流社区
标题: 【石家庄校区】XML [打印本页]
作者: 卞建彬 时间: 2018-11-1 21:30
标题: 【石家庄校区】XML
本帖最后由 小石姐姐 于 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”);
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();
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |