Jsoup body()包含不需要的文本

时间:2017-05-21 03:44:49

标签: html jsoup

假设我有一个HTML文档,如:

This is not body<body>
This is body
</body>

调用doc.body()。text()返回:

This is not body This is body

我有办法将这两个文本分开吗?

2 个答案:

答案 0 :(得分:0)

由于html规范的宽大,您看到的行为是正确的,浏览器必须仍然足够宽松,以便尽早支持网络早期的不良标记。

您可以使用XmlTreeBuilder来解析XML,而不会将任何HTML DOM规则应用于文档。&#34;

jsoup在线演示有此选项可以测试:https://try.jsoup.org/~KHbtVb7vli8fKNGtd9jIl6TK6xA

答案 1 :(得分:0)

您可以尝试将此文本解析为XML而不是HTML。

String html = 
        "This is not body<body>\r\n" + 
        "This is body\r\n" + 
        "</body>";
Document document = Jsoup.parse(html, "", Parser.xmlParser());
System.out.println(document.body().text());

返回This is body