Моя проблема заключается в том, что мне нужно получить div-класс внутри div-класса внутри div-класса, а 4 экземпляра классов с тем же именем, но с разными данными ... В настоящее время я могу получить первый div-класс внутри класс ДИВ, но мне нужно, чтобы иметь возможность получить доступ к другим элементам внутри него как хорошо ...... например:Как вы получаете div-класс внутри div-класса внутри div-класса?
docTide = Jsoup.connect("http://www.mhpa.co.uk/search-tide-times/").timeout(600000).get();
Elements tideTableRows = docTide.select("div.tide_row.odd");
Element firstDiv = tideTableRows.first();
Element secondDiv = tideTableRows.get(1);
System.out.println("This is the first div: " + firstDiv.text());
System.out.println("This is the second div: " + secondDiv.text());
но это структура веб-страницы, где есть 2 повторы, и мне нужно, чтобы получить доступ к каждому из них, например:
<div class="tide_row odd">
<div class="time">00:57</div>
<div class="height_m">4.9</div>
<div class="height_f">16,1</div>
<div class="range_m">1.9</div>
<div class="range_f">6,3</div>
</div>
<div class="tide_row even">
<div class="time">07:23</div>
<div class="height_m">2.9</div>
<div class="height_f">9,6</div>
<div class="range_m">2</div>
<div class="range_f">6,7</div>
</div>
<div class="tide_row odd">
<div class="time">13:46</div>
<div class="height_m">5.1</div>
<div class="height_f">16,9</div>
<div class="range_m">2.2</div>
<div class="range_f">7,3</div>
</div>
<div class="tide_row even">
<div class="time">20:23</div>
<div class="height_m">2.8</div>
<div class="height_f">9,2</div>
<div class="range_m">2.3</div>
<div class="range_f">7,7</div>
</div>
Таким образом, в основном он имеет вложенные классы в отдельных классах с одинаковым именем, ho w Можно ли построить правильный синтаксис для возврата данных из классов отдельно? Это довольно сложно объяснить!
Edit: Это, как мне удалось извлечь информацию из вложенных классов:
docTide = Jsoup.connect("http://www.mhpa.co.uk/search-tide-times/").timeout(600000).get();
Elements tideTimeOdd = docTide.select("div.tide_row.odd div:eq(0)");
Elements tideTimeEven = docTide.select("div.tide_row.even div:eq(0)");
Elements tideHightOdd = docTide.select("div.tide_row.odd div:eq(2)");
Elements tideHightEven = docTide.select("div.tide_row.even div:eq(2)");
Element firstTideTime = tideTimeOdd.first();
Element secondTideTime = tideTimeEven.first();
Element thirdTideTime = tideTimeOdd.get(1);
Element fourthTideTime = tideTimeEven.get(1);
Element firstTideHight = tideHightOdd.first();
Element secondTideHight = tideHightEven.first();
Element thirdTideHight = tideHightOdd.get(1);
Element fourthTideHight = tideHightEven.get(1);
Привет, спасибо. Как есть 2 "div class tide row odd" и 2 "div class tide row even" с разными данными в каждом случае, это позволяет мне получить доступ к данным отдельно? –
Просто попробовал и все еще проблема, что он обращается к 2 классам разных классов (строка приливов) или (нечетная строка приливов), но называется одинаковой и возвращает значения из каждого из классов. Есть идеи? –
@ J4C3N-14, если вы хотите добавить элемент, который вы извлекаете в свои Элементы, тогда вы должны сделать редактирование, которое я только что сделал. – superuser