Извлеките innerHtml из тега body, используя jsoup - PullRequest
2 голосов
/ 13 мая 2019

Я анализирую html с помощью jsoup и хочу извлечь innerHtml внутри тега body

, поэтому я попытался использовать document.body.childern (). OuterHtml;но он дает только HTML-элемент и пропускает плавающий текст (не заключенный ни в один HTML-тег) внутри тела

private String getBodyTag(final Document document) {
        return document.body().children().outerHtml();
}

Ввод:

<!DOCTYPE html>
<html lang="de">
    <head>
        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link rel="stylesheet" type="text/css" href="assets/style.css">
    </head>
    <body>
       <div>questions to improve formatting and clarity.</div>
       <h3>Guided Mode</h3> 
       some sample raw/floating text
    </body>
</html>

Ожидаемый:

<div>questions to improve formatting and clarity.</div>
<h3>Guided Mode</h3> 
some sample raw/floating text

Фактический:

<div>questions to improve formatting and clarity.</div>
<h3>Guided Mode</h3>

Ответы [ 2 ]

3 голосов
/ 13 мая 2019

Пожалуйста, используйте это:

private String getBodyTag(final Document document) {
    return document.body().html();
}
0 голосов
/ 13 мая 2019

Вместо этого вы можете попытаться вернуть document.body.innerHtml;, чтобы он возвращал все внутри тега body, включая текст вне любого тега.

Насколько я знаю, способ, которым вы пытаетесь это сделать,не работает, потому что «сырой текст» не считается дочерним.

...