0

我只是使用 Jsoup 在 Java 上创建了一个 HTML 文档。下面是代码的一部分

public static Document genDoc(String p) throws ProtocolException, IOException, InterruptedException, ParserConfigurationException{
   ........
   return Jsoup.parseBodyFragment(html);
}

完成文档生成后,我必须显示它。我只是使用 FlyingSaucer 的 XHTML 面板。这是代码

public static void main(String[] args) throws ProtocolException, IOException, InterruptedException, ParserConfigurationException{
   Document doc = genDoc("http://www.mangareader.net/93-1-11/naruto/chapter-1.html");
   XHTMLPanel xhp = new XHTMLPanel();
   xhp.setDocument(doc);
   ........
}

我认为类 org.jsoup.nodes.Document 继承自“org.w3c.dom.Document”。但是我错了。有什么方法可以传递'org.jsoup.nodes.Document'的对象来使用XHTMLPanel生成Web视图,而无需先将其转换为字符串或输入流或字节[]?

4

1 回答 1

0

我想没有办法绕过字符串,因为两个 Libs 都使用 Document 的不同实现。

也许您可以为 jsoup <-> w3c 编写转换器,但最简单的方法是使用字符串。

在您的情况下xhp.setDocument(doc.toString());应该可以正常工作。

(我将其用于例如 HTML -> PDF 生成,到目前为止没有问题)

于 2012-08-24T15:58:03.877 回答