从HTMLDocument获取所有html作为String

时间:2012-05-06 16:11:27

标签: java document

我在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的内容作为String。

示例:

<!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:)

谢谢Daniel

2 个答案:

答案 0 :(得分:15)

StringWriter writer = new StringWriter();
kit.write(writer, doc, 0, doc.getLength());
String s = writer.toString();

答案 1 :(得分:1)

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

或者您可以使用:

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