我在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
答案 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);