Чтобы избежать возврата текста всех дочерних элементов, используйте e.ownText()
, но этого недостаточно, так как вы хотите иметь отдельные This is start of a text
и and ending with some text.
, но ownText()
возвращает его объединенным: This is start of a text and ending with some text.
.
Чтобы получить список разделенных текстов, используйте e.textNodes()
, и вывод для body будет:
body: [
This is start of a text , and ending with some text.]
a: [followed by a link sample]
, а дополнительным преимуществом является сохранение оригинала
.
Также, если вы не используетеВам не нужны избыточные html: []
и head: []
, добавленные в ваш документ, вы должны использовать синтаксический анализатор XML:
Document document = Jsoup.parse(text, "", Parser.xmlParser());
Чтобы разделить текст и <a>
текст в порядке, попробуйте выполнить рекурсивную итерацию, используя: document.childNodes()
а затем childNodes()
для каждого узла. Вы можете идентифицировать текстовые узлы, проверив if (node instanceof TextNode)
.