8

私は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">

……など

どんな助けでも大歓迎です。HTMLを正しく処理するには、HTMLDocumentクラスを使用する必要があります:)

ありがとうダニエル

4

2 に答える 2

17
StringWriter writer = new StringWriter();
kit.write(writer, doc, 0, doc.getLength());
String s = writer.toString();
于 2012-05-06T16:25:24.920 に答える
1

エディターとリーダーはまったく必要ありません。入力ストリームを読み取るだけです。たとえば、commons-io ではIOUtils.toString(inputStream)

または次を使用できます。

Content content = document.getContent();
String str = content.getString(0, content.length() - 1);
于 2012-05-06T16:26:04.007 に答える