मेरे पास इस तरह का तत्व है:Jsoup के साथ अलग पाठ नोड्स निकालने के लिए कैसे?
<td> TextA <br/> TextB </td>
मैं टेक्स्टए और टेक्स्टबी को अलग से कैसे निकाल सकता हूं?
मेरे पास इस तरह का तत्व है:Jsoup के साथ अलग पाठ नोड्स निकालने के लिए कैसे?
<td> TextA <br/> TextB </td>
मैं टेक्स्टए और टेक्स्टबी को अलग से कैसे निकाल सकता हूं?
कई तरीकों से। यह वास्तव में दस्तावेज़ पर निर्भर करता है और क्या दिया गया HTML मार्कअप सुसंगत है या नहीं। इस विशेष उदाहरण में आप td
के बच्चे नोड्स Element#childNodes()
द्वारा प्राप्त कर सकते हैं और फिर TextNode
या नहीं, तो प्रत्येक नोड को व्यक्तिगत रूप से जांचें।
उदा।
Element td = getItSomehow();
for (Node child : td.childNodes()) {
if (child instanceof TextNode) {
System.out.println(((TextNode) child).text());
}
}
जो
TextA TextB
में परिणाम है मुझे लगता है कि यह अच्छा होगा अगर Jsoup तरह Element#children()
बच्चे तत्वों (जो वापस आ गए हैं पाने के लिए करता है के रूप में बच्चे को पाठ नोड्स पाने के लिए एक Element#textNodes()
या कुछ और की पेशकश की आपके उदाहरण में <br />
तत्व)।
मैंने 1.6.2 के लिए एलिमेंट # टेक्स्ट नोड्स() लागू किया है, सुझाव के लिए धन्यवाद। https://github.com/jhy/jsoup/commit/7b9f17760049161b775fd23b15653961620e259d –
@ जोनाथन हेडली आप एक जीवन बचतकर्ता हैं! मैं आपके कड़ी मेहनत के लिए पर्याप्त धन्यवाद नहीं दे सकता। आपका कोड और टिप्पणियां सही हैं और मुझे Google और StackOverflow के घंटे बचाए हैं। – stackular