2

我正在开发一些实用程序,它必须遍历一组 HTML 文件并操作它们。

JSoup 在解析和处理完整的文件(即它们有<html> ... </html>标签)方面做得很好。

但是对于部分页面,即伤口包含标记的页面,

<div id="leftnav">...</div>

它解析正确,但当doc.toString()或被doc.outerHtml()调用时,它返回完整的 HTML(它将部分 HTML 内容包装在<html> <body> ... </body> </html>标签中)

这对我来说是个问题,你能告诉我 JSoup 中是否有这样的 API 不以这种方式清理/清理 HTML 内容吗?

谢谢。

4

1 回答 1

3

您可以使用Xml 解析器

创建一个新的 XML 解析器。此解析器假定不知道传入的标签,也不将其视为 HTML,而是直接从输入创建一个简单的树。

换句话说:它不会创建典型的 html 结构(html、body、head 等),而是按原样接受您的输入。

以下是如何使用它:

// Using connect()
Document doc = Jsoup.connect("<url>").parser(Parser.xmlParser()).get();

// Using parse()
Document doc = Jsoup.parse("<html>", "<base url>", Parser.xmlParser());
于 2013-05-10T15:13:07.740 回答