Jsoup庫 解析DOM文件

2021-09-07 01:42:08 字數 3769 閱讀 8355

dom文件包括 html, xml等等

jsoup 獲取資料的方式

//

html 文字, url, 本地html

string html = ""

+ ""

+ ""

" + ""

+ "";

//html text

document doc =jsoup.parse(html);

doc.title();

string url = "";

//get 方式獲取資料

try

catch

(ioexception e)

//post 方式獲取資料

try

catch

(ioexception e)

//本地檔案獲取資料

file input = new file(environment.getdatadirectory()+"/index.html");

try

catch

(ioexception e)

jsoup操作dom文件

//

html 文字, url, 本地html

string html = ""

+ ""

+ ""

" + ""

+ "";

//html text

document doc =jsoup.parse(html);

doc.title();

//選擇元素,獲取元素的相關屬性

elements eles = doc.getelementsbytag("a");

for(element link : eles)

//遍歷

elements elements = doc.select("a[href]"); //

帶有連線的a標籤

elements elements2 = doc.select("img[src$=.png]"); //

帶有連線的影象

element elements3 = doc.select("div.classname").first(); //

帶有連線的影象

//元素操作

doc.select("div.classname").attr("key", "value");

doc.select("div.classname").addclass("myclass"); //

新增: class="myclass"

doc.select("img").removeattr("onclick"); //

移除方法

//文件清理, 將不安全的html** 轉化為安全的形式

string htmls = "";

string safehtml = jsoup.clean(htmls, whitelist.basic());

例項操作

* 1. 使用jsoup解析 html新聞列表

新增網路訪問許可權 

解析** 

網路操作,需要新建執行緒

//

涉及網路請求,建立乙個執行緒

new thread(new

runnable()

}).start();

private

void

parsehtml()

} catch

(ioexception e)

}

執行結果

www.csdn.net/article/2015-08-10/2825421

08-10 16:17:59.427: i/carloz(14728): android專案中如何用好構建神器gradle?: http://

www.csdn.net/article/2015-08-10/2825420

08-10 16:17:59.427: i/carloz(14728): oculus pc sdk 0.7版即將發布,含新direct driver mode: http://

www.csdn.net/article/2015-08-10/2825419-oculus-sdk-0-7-new-direct-driver-mode-and-a-major-overhaul

08-10 16:17:59.427: i/carloz(14728): 實戰ios 9:詳解xcode的code coverage工具: http://

www.csdn.net/article/2015-08-07/2825410

08-10 16:17:59.427: i/carloz(14728): 《近匠》remix周哲,讓android執行在「電腦」上!: http://

www.csdn.net/article/2015-08-06/2825396-remix-tablet

08-10 16:17:59.427: i/carloz(14728): android上玩玩hook:cydia substrate實戰: http://

www.csdn.net/article/2015-08-07/2825405

08-10 16:17:59.427: i/carloz(14728): 易訊理想科技自研ar技術 面向商業場景推「幻視」ar應用: http://

www.csdn.net/article/2015-08-06/2825398

www.csdn.net/article/2015-08-05/2825382

08-10 16:17:59.427: i/carloz(14728): 遊戲設計中的色彩哲學:沒想象的那麼簡單: http://

www.csdn.net/article/2015-08-04/2825378

08-10 16:17:59.427: i/carloz(14728): ios開發實戰教學:在swift怎樣建立cocoapod?: http://

www.csdn.net/article/2015-08-05/2825383

* 2. 使用jsoup解析epub3

private

void

parseepub()

} catch

(ioexception e)

}

執行結果

08-10 16:37:28.847: i/carloz(16323): 第一章 童年: chapter_156815.xhtml

08-10 16:37:28.847: i/carloz(16323): 第二章 災難: chapter_156816.xhtml

08-10 16:37:28.847: i/carloz(16323): 和尚的生涯: chapter_156817.xhtml

08-10 16:37:28.847: i/carloz(16323): 第三章 踏上征途: chapter_156818.xhtml

08-10 16:37:28.847: i/carloz(16323): 第四章 就從這裡起步: chapter_156819.xhtml

08-10 16:37:28.847: i/carloz(16323): 第五章 儲蓄資本: chapter_156820.xhtml

08-10 16:37:28.847: i/carloz(16323): 最後乙個障礙: chapter_156821.xhtml

08-10 16:37:28.847: i/carloz(16323): 第六章 霸業的開始: chapter_156822.xhtml

...

關於jsoup解析http文件

1.第一次用jsoup,是用來解析乙個關於新聞的網頁,但是這個網頁比較簡單,所以對於jsoup的了解不是很清楚。2.在寫android程式時,有時需要解析html頁面,特別是那類通過爬 抓取資料的應用,比如 天氣預報等應用。如果是桌面應用可以使用htmlparser這個強大的工具,但是在androi...

Jsoup文件 解析body片段

使用jsoup.parsebodyfragment html 方法。string html lorem ipsum.document doc jsoup.parsebodyfragment html element body doc.body parsebodyfragment方法建立乙個空文件,並...

jsoup使用DOM方法來遍歷乙個文件

你有乙個html文件要從中提取資料,並了解這個html文件的結構。將html解析成乙個document之後,就可以使用類似於dom的方法進行操作。示例 file input new file tmp input.html document doc jsoup.parse input,utf 8 el...