2012-05-06 15 views
6

Im kodowania w Javie ..uzyskać wszystkie html jako ciąg z HTMLDocument

Czy ktoś wie jak mogę uzyskać zawartość javax.swing.text.html.HTMLDocument jako ciąg? To, co mam do tej pory ...

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); 

Potrzebuję zawartość dokumentu HTML jako ciąg.

przykład:

<!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"> 

....... itp

pomoc byłaby cenione. Muszę użyć klasy HTMLDocument w celu html zostać przetworzone poprawnie :)

Thanks Daniel

Odpowiedz

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

Dzięki! Kod Joopa Eggensa poradził sobie! – Zelleriation

1

Nie trzeba edytor i czytnika w ogóle - po prostu czytać strumienia wejściowego. Na przykład, w świetlicy-IO IOUtils.toString(inputStream)

lub można użyć:

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

To nie zadziała, ponieważ dziedziczona metoda [getContent] (http://docs.oracle.com/javase/7/docs/api/javax/swing/text/AbstractDocument.html#getContent%28%29) jest chroniona . – vallismortis

Powiązane problemy