我正在使用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>
答案 0 :(得分:3)
请使用此:
private String getBodyTag(final Document document) {
return document.body().html();
}
答案 1 :(得分:0)
您可以尝试返回document.body.innerHtml;
,这样它将返回body标签内的所有内容,包括任何标签外的文本。
据我所知,您尝试完成此操作的方式无效,因为“原始文本”不被视为儿童。