【问题标题】:Is there a way to manipulate partial HTML pages using JSoup有没有办法使用 JSoup 操作部分 HTML 页面
【发布时间】:2013-05-10 01:14:24
【问题描述】:

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

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

但是对于部分页面,即包含类似标记的页面,

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

它可以正确解析,但是当调用doc.toString()doc.outerHtml() 时,它会返回完整的HTML(它将部分HTML 内容包装在&lt;html&gt; &lt;body&gt; ... &lt;/body&gt; &lt;/html&gt; 标签中)

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

谢谢。

【问题讨论】:

    标签: java html jsoup


    【解决方案1】:

    您可以使用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());
    

    【讨论】:

    • 谢谢你,这正是我们所需要的!
    猜你喜欢
    • 2011-04-17
    • 2013-08-21
    • 1970-01-01
    • 1970-01-01
    • 2022-12-20
    • 2020-03-18
    • 1970-01-01
    • 1970-01-01
    • 2023-01-22
    相关资源
    最近更新 更多