2011-09-25 27 views
7

我需要在Android應用程序中處理一些HTML頁面,我寧願使用XPath來提取相關信息。對於經常J2SE有很多可能實現的解析常規的HTML成org.w3c.dom.Document哪個HTML DOM解析器在Android上最適合?

(列表可能不完整 - 它已從https://stackoverflow.com/questions/2009897/recommend-an-alternative-to-jtidy提取)

但是,估計這些庫在Android(庫大小,CPU和內存消耗)上的工作是否有用以及它們的工作性能是非常複雜的。

根據您的經驗 - 您選擇的Android圖書館是什麼?

回答

2

好吧,看起來沒有人可以回答這個問題 - 然後我必須自己檢查一下。

jTidy

我下載了最新的jTidy來源,編譯它們並添加所創建的jar文件庫到我的Android應用程序。在我的應用程序(模擬器和真實手機)中使用jTidy沒有任何問題。在運行時,jTidy也可以正常工作 - 但它似乎並不適合有限的Android環境 - 它的工作非常緩慢。查看Logcat輸出甚至解析〜10kb的html文件會導致垃圾收集器大量工作。

HTMLCleaner

從我的經驗HTMLCleaner作品也不錯Android上;庫的大小相對較小(v2.2爲106KB)。然而,它創建的解析DOM並不像預期的那樣 - HTMLCleaner將其他<span>元素插入到DOM中。如果你想將它顯示爲一個HTML文件,但對於我的用例 - 通過XPath表達式來表達信息 - 這可能是好的 - 這是一個禁忌!

TagSoup

未測試

傑里科

未測試

NekoHTML

未測試

JSoup

沒有測試JSoup

+0

什麼? – Enigma