使用jsoup

时间:2019-05-13 11:56:48

标签: java html jsoup

我正在使用jsoup解析html,并希望在body标签内部提取innerHtml

到目前为止,我尝试并使用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 个答案:

答案 0 :(得分:3)

请使用此:

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

答案 1 :(得分:0)

您可以尝试返回document.body.innerHtml;,这样它将返回body标签内的所有内容,包括任何标签外的文本。

据我所知,您尝试完成此操作的方式无效,因为“原始文本”不被视为儿童。