2011-08-23 18 views

उत्तर

24

कई तरीकों से। यह वास्तव में दस्तावेज़ पर निर्भर करता है और क्या दिया गया 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 /> तत्व)।

+15

मैंने 1.6.2 के लिए एलिमेंट # टेक्स्ट नोड्स() लागू किया है, सुझाव के लिए धन्यवाद। https://github.com/jhy/jsoup/commit/7b9f17760049161b775fd23b15653961620e259d –

+1

@ जोनाथन हेडली आप एक जीवन बचतकर्ता हैं! मैं आपके कड़ी मेहनत के लिए पर्याप्त धन्यवाद नहीं दे सकता। आपका कोड और टिप्पणियां सही हैं और मुझे Google और StackOverflow के घंटे बचाए हैं। – stackular