2016-01-19 12 views
7

मैं HTML तत्वों से पूरी तरह से अपने पाठ साफ करने के लिए इस कोड का उपयोग कोशिश कर रहा था छोड़ देता है। मैंने सोचा कि यह इसे एक सफेद स्थान के साथ बदल देगा, वैसे ही यह · को मध्य बिंदु ("और मिडॉट;") के साथ प्रतिस्थापित करता है।Jsoup साफ विधि   तत्वों

क्या मुझे इस कार्यक्षमता को प्राप्त करने के लिए किसी अन्य विधि का उपयोग करना चाहिए?

+0

आप 'प्रतिस्थापन विधि' का उपयोग करके इसे क्यों नहीं बदलते? – Maroun

+1

@MarounMaroun, प्रतिस्थापन विधि काम करेगी, लेकिन मुझे आश्चर्य है कि Whitelist.none() ने इसे क्यों संभाला नहीं है। –

उत्तर

2

Jsoup docs से:

श्वेतसूचियाँ क्या एचटीएमएल (तत्वों और विशेषताओं) क्लीनर के माध्यम से अनुमति देने के लिए निर्धारित करते हैं। बाकी सब कुछ हटा दिया गया है।

तो श्वेतसूची केवल टैग और विशेषताओं से संबंधित है।   न तो एक टैग है और न ही एक विशेषता है। यह एक विशेष चरित्र के लिए बस एचटीएमएल एन्कोडिंग है। आप उदाहरण के उत्कृष्ट apache commons lang library के लिए उपयोग या उपयोग Jsoup unescapeEntities method सकता है आप सामान्य पाठ के लिए एन्कोडिंग से अनुवाद करना चाहते हैं:

System.out.println(Parser.unescapeEntities(doc.toString(), false)); 

परिशिष्ट:

· से अनुवाद "·" पहले से ही जब होता है आप एचटीएमएल पार्स करते हैं। ऐसा लगता है कि साफ विधि के साथ ऐसा नहीं करना है।

+0

यह सही है, लेकिन मैं समझने की कोशिश कर रहा हूं कि मिडॉट के बीच एक अंतर क्यों है; और   जिस तरह से Jsoup इन तत्वों को संभालता है (इसकी साफ विधि में)। –

+0

वास्तव में यह अजीब है। शायद आपको JSOUP प्रोजेक्ट के जिथब https://github.com/jhy/jsoup/issues पर कोई समस्या उठानी चाहिए – luksch