2011-09-25 12 views
7

मुझे अपने एंड्रॉइड ऐप में कुछ HTML पेजों को संसाधित करने की आवश्यकता है और मैं प्रासंगिक जानकारी निकालने के लिए XPath का उपयोग करना पसंद करूंगा। नियमित J2SE के लिए वहाँ एक org.w3c.dom.Document में नियमित HTML पार्स करने के लिए संभव कार्यान्वयन के एक बहुत हैं:कौन सा एचटीएमएल डोम पार्सर एंड्रॉइड पर सबसे अच्छा काम करता है?

(सूची हो सकता है अपूर्ण हो - यह https://stackoverflow.com/questions/2009897/recommend-an-alternative-to-jtidy से निकाला गया है)

लेकिन यह अनुमान लगाने के लिए बहुत जटिल है कि एंड्रॉइड (लाइब्रेरी आकार, सीपीयू और मेमोरी खपत) पर यह पुस्तकालय कितना अच्छा काम करता है।

आपके अनुभव के आधार पर - एंड्रॉइड के लिए आपकी पसंद की लाइब्रेरी क्या है?

उत्तर

2

ठीक है, ऐसा लगता है कि कोई भी उस प्रश्न का उत्तर नहीं दे सकता है - तो मुझे इसे स्वयं जांचना होगा।

jTidy

मैं नवीनतम jTidy सूत्रों डाउनलोड किया है, उन्हें संकलित और अपने Android एप्लिकेशन के लिए पुस्तकालय के रूप में बनाया जार फ़ाइल जोड़ा। मेरे ऐप (एम्यूलेटर और रीयल फोन) में जेटीडी का उपयोग करने में कोई समस्या नहीं थी। रनटाइम पर जेटीडी भी ठीक काम करता है - लेकिन ऐसा लगता है कि यह सीमित एंड्रॉइड पर्यावरण के लिए उपयुक्त नहीं है - यह वास्तव में धीमा काम करता है। लॉककैट आउटपुट को देखते हुए भी ~ 10 केबी एचटीएमएल फाइल को पार्स करने से कचरा कलेक्टर भारी काम करता है।

HTMLCleaner

मेरे अनुभव HTMLCleaner Android पर भी अच्छा काम करता है से; पुस्तकालय का आकार अपेक्षाकृत छोटा है (v2.2 के लिए 106 केबी)। हालांकि इसे बनाया गया पार्स डीओएम अपेक्षित नहीं है - HTMLCleaner उदाहरण के लिए अतिरिक्त <span> तत्वों को डीओएम में सम्मिलित करता है। यह ठीक हो सकता है यदि आप इसे HTML फ़ाइल के रूप में प्रदर्शित करना चाहते हैं लेकिन मेरे उपयोग के मामले में - XPath अभिव्यक्तियों के माध्यम से जानकारी निकालना - यह कोई नहीं है!

TagSoup

जांची नहीं

जेरिको

जांची नहीं

NekoHTML

जांची नहीं

JSoup

जांची नहीं JSoup पर

+0

कुछ भी? – Enigma

संबंधित मुद्दे