【问题标题】:get all html as a String from HTMLDocument从 HTMLDocument 中获取所有 html 作为字符串
【发布时间】:2012-05-15 08:50:58
【问题描述】:

我用 Java 编码..

有谁知道我如何将 javax.swing.text.html.HTMLDocument 的内容作为字符串获取?这就是我到目前为止所得到的......

URL url = new URL( "http://www.test.com" );

HTMLEditorKit kit = new HTMLEditorKit(); 
HTMLDocument doc = (HTMLDocument) kit.createDefaultDocument(); 
doc.putProperty("IgnoreCharsetDirective", Boolean.TRUE);
Reader HTMLReader = new InputStreamReader(url.openConnection().getInputStream()); 
kit.read(HTMLReader, doc, 0); 

我需要将 HTMLDocument 的内容作为字符串。

例子:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">    <html><head><meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">

.......等等

任何帮助将不胜感激。我需要使用 HTMLDocument 类才能正确处理 html :)

谢谢丹尼尔

【问题讨论】:

    标签: java document


    【解决方案1】:

    您根本不需要编辑器和阅读器 - 只需阅读输入流。比如用 commons-io IOUtils.toString(inputStream)

    或者你可以使用:

    Content content = document.getContent();
    String str = content.getString(0, content.length() - 1);
    

    【讨论】:

    • 这不起作用,因为继承的getContent 方法受到保护。
    【解决方案2】:
    StringWriter writer = new StringWriter();
    kit.write(writer, doc, 0, doc.getLength());
    String s = writer.toString();
    

    【讨论】:

      猜你喜欢
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 2011-12-08
      • 2016-10-04
      • 1970-01-01
      • 2011-06-23
      • 2020-06-16
      • 2013-04-29
      相关资源
      最近更新 更多