我正在开发一些实用工具,它必须遍历一组HTML文件并对其进行操作。
JSoup在解析和操作完整的文件方面做得很好(即他们有<html> ... </html>
个标签)。
但是对于部分页面,即包含标记的页面,
<div id="leftnav">...</div>
它正确解析但是当调用doc.toString()
或doc.outerHtml()
时,它会返回完整的HTML(它将部分HTML内容包装在<html> <body> ... </body> </html>
标记中)
对我来说这是一个问题,如果JSoup中有这样的API不以这种方式清理/清理HTML内容,请告诉我吗?
感谢。
答案 0 :(得分:3)
您可以使用Xml Parser:
创建一个新的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());