Я пытаюсь сделать что-то похожее на: Jsoup: Как получить все HTML между 2 тегами заголовка
Однако, похоже, мой код избегает простого текста.
Сайт, который я анализирую, имеет настройку кода таким образом:
div class = "quoted-message"
Response. Can contain images, text, etc.
div class = "quoted-message"
Another response to another quoted message
Фрагмент кода, используемый для обработки фактических сообщений:
Element quote = msg.select(".quoted-message").first();
Boolean hasQuote = false;
Elements siblings = null;
siblings = quote.siblingElements();
createQuotePost(quote);
List<Element> elementsBetween = new ArrayList<Element>();
for (int i = 1; i < siblings.size(); i++) {
Element sibling = siblings.get(i);
if (! "div.quoted-message".equals(sibling.tagName())) {
elementsBetween.add(sibling);
}
else {
Log.v("location", "Clear and Process");
processElementsBetween(elementsBetween);
elementsBetween.clear();
}
}
if (! elementsBetween.isEmpty())
processElementsBetween(elementsBetween);
Однако, похоже, это не работает так, как я хочу. Ответы на код не имеют специального форматирования (т. Е. Сидят в теге p). Используя немного логов, я вижу, что они не попадают в одноуровневые элементы.
Братья и сестры, кажется, просто включают разрывы строк и тому подобное.
Примечание. Я проверял это только на небольших сообщениях (простых однострочниках), чтобы сэкономить при просеивании длинных страниц распечаток.
Есть предложения о том, что делать?
EDIT:
Вот фрагмент кода HTML между двумя div-символами из цитируемых сообщений:
MESSAGE TO BE QUOTED
</div>
<br />
<br />
Hello quoted message
<br />
I am a response
<br />
<br />
<div class="quoted-message">