JSoup Element wholeText удаление пробелов - PullRequest
0 голосов
/ 18 июня 2019

Я использую следующий код для разбора HTML с помощью JSoup:

Jsoup.parse(html).wholeText()

Мои образцы html будут содержать текст, подобный следующему:

<p>some text</p><br /><br>later

Однако вывод из JSoup всегда:

some textlater

Мой желаемый результат примерно такой:

some text

later

(обратите внимание, что строка возвращается после «некоторого текста» и «позже»)

Есть ли другой метод вместо целого текста, который мне следует использовать, если я хочу сохранить интервал? Я нашел следующий вопрос stackoverflow, который был похож:
Как сохранить разрывы строк при использовании jsoup для преобразования html в простой текст?

Однако проблема с этим вопросом заключается в том, что все пользователи хотели использовать замены строк или регулярные выражения для поиска br или других конкретных тегов. Я ищу что-то более общего назначения (например, html-парсер, который удаляет html-теги, сохраняя при этом разрывы строк и другие пробелы - это не обязательно должен быть jsoup, если есть лучшая библиотека java).

1 Ответ

0 голосов
/ 22 июня 2019

Вы можете использовать:

Document doc = Jsoup.parse(html);

, который преобразует вашу строку в HTML-узлы для манипуляций затем используйте

doc.outputSettings().indentAmount(0).prettyPrint(false);

чтобы сохранить пространство и стиль на месте.

затем вернуть HTML в строку

doc.body().html().toString();

...