当前位置:首页 > Web开发 > 正文

int timeoutMillis):通过网络路径获取指定的html或xml的文档对象 Document:文档对象

2024-03-31 Web开发

标签:

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区:在该区域中的数据会被原样展示,可以不用特殊字符如‘<‘需要用 &lt

格局:

<![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")

<students xmlns:xsi="" xmlns="xxx/xml" xsi:schemaLocation="xxx/tudent.xsd">

解析:操纵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