int timeoutMillis):通过网络路径获取指定的html或xml的文档对象 Document:文档对象
标签:
XML: 观点:Extensible Markup Language 可扩展符号语言可扩展:标签都是自界说的。
成果
存储数据
配置文件
在网络中传输
xml与html的区别
xml标签都是自界说的,html标签是预界说。
xml的语法严格,html语法松散
xml是存储数据的,html是展示数据
w3c:万维网联盟
语法:根基语法:
xml文档的后缀名 .xml
xml第一行必需界说为文档声明
xml文档中有且仅有一个根标签
属性值必需使用引号(单双都可)引起来
标签必需正确封锁
xml标签名称区分巨细写
快速入门:
<?xml version='1.0' ?> <users> <user id='1'> <name>zhangsan</name> <age>23</age> <gender>male</gender> <br/> </user> <user id='2'> <name>lisi</name> <age>24</age> <gender>female</gender> </user> </users>构成部分:
文档声明
格局:
<?xml 属性列表 ?>属性列表:
version:版本号,必需的属性
encoding:编码方法。奉告解析引擎当前文档使用的字符集,默认值:ISO-8859-1
standalone:是否独立
取值:
yes:不依赖其他文件
no:依赖其他文件
指令(了解):结合css的,展示数据
<?xml-stylesheet type="text/css" href=http://www.mamicode.com/"a.css" ?>标签:标签名称自界说的
法则:
名称可以包罗字母、数字以及其他的字符
名称不能以数字或者标点标记开始
名称不能以字母 xml(或者 XML、Xml 等等)开始
名称不能包罗空格
属性:
id属性值独一
文本:
CDATA区:在该区域中的数据会被原样展示,可以不用特殊字符如‘<‘需要用 <
格局:
<![CDATA[ 数据内容 ]]> 约束约束:规定xml文档的书写法则
作为框架的使用者(措施员):
能够在xml中引入约束文档
能够简单的读懂约束文档
分类:
DTD:一种简单的约束技术,出缺陷,属性限定不全面
Schema:一种庞大的约束技术
DTD:
引入dtd文档到xml文档中
内部dtd:将约束法则界说在xml文档中
外部dtd:将约束的法则界说在外部的dtd文件中
本地:
<!DOCTYPE 根标签名 SYSTEM "dtd文件的位置">网络:
<!DOCTYPE 根标签名 PUBLIC "dtd文件名字" "dtd文件的位置URL"> dtd文件内容 <!ELEMENT students (student*) > <!ELEMENT student (name,age,sex)> <!ELEMENT name (#PCDATA)> <!ELEMENT age (#PCDATA)> <!ELEMENT sex (#PCDATA)> <!ATTLIST student number ID #REQUIRED> XML引入内部dtd <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE students SYSTEM "student.dtd"> <students> <student number="0001"> <name>tom</name> <age>18</age> <sex>male</sex> </student> </students>Schema:
引入:
1.填写xml文档的根元素
2.引入xsi前缀. xmlns:xsi=""
3.引入xsd文件定名空间. xsi:schemaLocation="xxx/student.xsd"
4.为每一个xsd约束声明一个前缀(用来区分多个xsd文档),作为标识 xmlns="xxx/xml"(xmlns:a="xxx/xml")
操纵xml文档
解析(读取):将文档中的数据读取到内存中
写入:将内存中的数据生存到xml文档中。长期化的存储
解析xml的方法:
DOM:将符号语言文档一次性加载进内存,在内存中形成一颗dom树
长处:操纵便利,可以对文档进行CRUD的所有操纵
错误谬误:占内存
SAX:逐行读取,基于事件驱动的。
长处:不占内存。
错误谬误:只能读取,不能增删改
xml常见的解析器:
JAXP:sun公司供给的解析器,撑持dom和sax两种思想
DOM4J:一款非常优秀的解析器
Jsoup:jsoup 是一款Java 的HTML解析器,可直接解析某个URL地点、HTML文本内容。它供给了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操纵要领来取出和操纵数据。
PULL:Android操纵系统内置的解析器,sax方法的。
Jsoup:jsoup 是一款Java 的HTML解析器,可直接解析某个URL地点、HTML文本内容。它供给了套非常省力的API,可通过DOM,CSS以及类似于jQuery的操纵要领来取出和操纵数据。
快速入门:
法式:
导入jar包
获取Document东西
获取对应的标签Element东西
获取数据
代码:
//2.1获取student.xml的path String path = JsoupDemo1.class.getClassLoader().getResource("student.xml").getPath(); //2.2解析xml文档,加载文档进内存,,获取dom树--->Document Document document = Jsoup.parse(new File(path), "utf-8"); //3.获取元素东西 Element Elements elements = document.getElementsByTag("name"); System.out.println(elements.size()); //3.1获取第一个name的Element东西,elements担任ArrayList Element element = elements.get(0); //3.2获取数据 String name = element.text(); System.out.println(name);东西的使用:
Jsoup:工具类,可以解析html或xml文档,返回Document
parse:解析html或xml文档,返回Document
parse?(File in, String charsetName):解析xml或html文件的。
parse?(String html):解析xml或html字符串
parse?(URL url, int timeoutMillis):通过网络路径获取指定的html或xml的文档东西
Document:文档东西。代表内存中的dom树
获取Element东西
getElementById?(String id):按照id属性值获取独一的element东西
getElementsByTag?(String tagName):按照标签名称获取元素东西调集
getElementsByAttribute?(String key):按照属性名称获取元素东西调集 (id)
getElementsByAttributeValue?(String key, String value):按照对应的属性名和属性值获取元素东西调集
Elements:元素Element东西的调集。可以当做 ArrayList来使用
Element:元素东西
获取子元素东西
getElementById?(String id):按照id属性值获取独一的element东西
getElementsByTag?(String tagName):按照标签名称获取元素东西调集
getElementsByAttribute?(String key):按照属性名称获取元素东西调集
getElementsByAttributeValue?(String key, String value):按照对应的属性名和属性值获取元素东西调集
获取属性值
String attr(String key):按照属性名称获取属性值
获取文本内容
String text():获取文本内容
String html():获取标签体的所有内容(包孕字标签的字符串内容)
Node:节点东西
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/32491.html
- 上一篇:会依次从左向右查找
- 下一篇:将请求跳转到模型进行处理