neo
neo

Reputation: 1404

How to parse nested div's in Android using JSOUP?

I have following html code:

  <div id="app"> 
<div data-reactroot id="timetable-content-holder">
<div class="top-bar"> ... </div> 
<h2>I need it </h2> 
<div class="timetable-holder gr-holder"> 
<div class="timetable-day gr"> 
<div class = "timetable-day-title"> Daily </dv> 
</div> 
</div> 
</div> 
     </div> 

I need to parse h2 and text inside timetable-day-title. I cannot write select method. This is my trials:

Elements elements = document.select("div#app > div#timetable-content-holder > h2");

But elements size is zero. How to write document's select method in my case?

Upvotes: 2

Views: 688

Answers (1)

soorapadman
soorapadman

Reputation: 4509

You can select tag by comma separator whichever you want

 String html =" <div id=\"app\"> \n" +
                 "<div data-reactroot id=\"timetable-content-holder\">\n" +
                 "<div class=\"top-bar\"> ... </div> \n" +
                 "<h2>I need it </h2> \n" +
                 "<div class=\"timetable-holder gr-holder\"> \n" +
                 "<div class=\"timetable-day gr\"> \n" +
                 "<div class = \"timetable-day-title\"> Daily </dv> \n" +
                 "</div> \n" +
                 "</div> \n" +
                 "</div> \n" +
                 "     </div> ";

        Document document = Jsoup.parse(html);
        Elements elements = document.select("#app #timetable-content-holder h2,.timetable-day-title ");
        for (Element element:elements){
            System.out.println(element.text());
        }

Update Try this code for calling from url

Document doc = Jsoup.connect("http://YourURL.com").get();

Output:

I need it
Daily

Upvotes: 4

Related Questions