日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android jsoup简书,Jsoup学习及使用

發(fā)布時(shí)間:2024/1/1 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android jsoup简书,Jsoup学习及使用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

* Jsoup:jsoup 是一款Java 的HTML解析器,可直接解析某個(gè)URL地址、HTML文本內(nèi)容。

它提供了一套非常省力的API,可通過DOM,CSS以及類似于jQuery的操作方法來取出和操作數(shù)據(jù)。

* 快速入門:

* 步驟:

1. 導(dǎo)入jar包

2. 獲取Document對象

3. 獲取對應(yīng)的標(biāo)簽Element對象

4. 獲取數(shù)據(jù)

* 代碼:

//2.1獲取student.xml的path

String path = JsoupDemo1.class.getClassLoader().getResource("student.xml").getPath();

//2.2解析xml文檔,加載文檔進(jìn)內(nèi)存,獲取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獲取第一個(gè)name的Element對象

Element element = elements.get(0);

//3.2獲取數(shù)據(jù)

String name = element.text();

System.out.println(name);

* 對象的使用:

1. 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):通過網(wǎng)絡(luò)路徑獲

取指定的html或xml的文檔對象

2. Document:文檔對象。代表內(nèi)存中的dom樹

* 獲取Element對象

* getElementById?(String id):根據(jù)id屬性值獲取唯一的element對象

* getElementsByTag?(String tagName):根據(jù)標(biāo)簽名稱獲取元素對象集合

* getElementsByAttribute?(String key):根據(jù)屬性名稱獲取元素對象集合

* getElementsByAttributeValue?(String key, String value):根據(jù)對應(yīng)的屬

性名和屬性值獲取元素對象集合

3. Elements:元素Element對象的集合。可以當(dāng)做 ArrayList來使用

4. Element:元素對象

1. 獲取子元素對象

* getElementById?(String id):根據(jù)id屬性值獲取唯一的element對象

* getElementsByTag?(String tagName):根據(jù)標(biāo)簽名稱獲取元素對象集合

* getElementsByAttribute?(String key):根據(jù)屬性名稱獲取元素對象集合

* getElementsByAttributeValue?(String key, String value):根據(jù)對應(yīng)的屬

性名和屬性值獲取元素對象集合

2. 獲取屬性值

* String attr(String key):根據(jù)屬性名稱獲取屬性值

3. 獲取文本內(nèi)容

* String text():獲取文本內(nèi)容

* String html():獲取標(biāo)簽體的所有內(nèi)容(包括字標(biāo)簽的字符串內(nèi)容)

5. Node:節(jié)點(diǎn)對象

* 是Document和Element的父類

?

* 快捷查詢方式:

1. selector:選擇器

* 使用的方法:Elements select?(String cssQuery)

* 語法:參考Selector類中定義的語法

2. XPath:XPath即為XML路徑語言,它是一種用來確定XML(

標(biāo)準(zhǔn)通用標(biāo)記語言的子集)文檔中某部分位置的語言

* 使用Jsoup的Xpath需要額外導(dǎo)入jar包。

* 查詢w3cshool參考手冊,使用xpath的語法完成查詢

* 代碼:

//1.獲取student.xml的path

String path = JsoupDemo6.class.getClassLoader().getResource("student.xml").getPath();

//2.獲取Document對象

Document document = Jsoup.parse(new File(path), "utf-8");

//3.根據(jù)document對象,創(chuàng)建JXDocument對象

JXDocument jxDocument = new JXDocument(document);

//4.結(jié)合xpath語法查詢

//4.1查詢所有student標(biāo)簽

List jxNodes = jxDocument.selN("//student");

for (JXNode jxNode : jxNodes) {

System.out.println(jxNode);

}

System.out.println("--------------------");

//4.2查詢所有student標(biāo)簽下的name標(biāo)簽

List jxNodes2 = jxDocument.selN("//student/name");

for (JXNode jxNode : jxNodes2) {

System.out.println(jxNode);

}

System.out.println("--------------------");

//4.3查詢student標(biāo)簽下帶有id屬性的name標(biāo)簽

List jxNodes3 = jxDocument.selN("//student/name[@id]");

for (JXNode jxNode : jxNodes3) {

System.out.println(jxNode);

}

System.out.println("--------------------");

//4.4查詢student標(biāo)簽下帶有id屬性的name標(biāo)簽 并且id屬性值為itcast

List jxNodes4 = jxDocument.selN("//student/name[@id='itcast']");

for (JXNode jxNode : jxNodes4) {

System.out.println(jxNode);

}

總結(jié)

以上是生活随笔為你收集整理的android jsoup简书,Jsoup学习及使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。