# HTML-Datei einlesen, Plain Text in Textfile speichern



## ghummelll (30. Jun 2009)

Hallo Leute,

wir parsen in einem Programm nach Google Snippets und möchten diese für die ersten tausend Ergebnisse (i.A. sind es weniger, aber das tut hier nichts zur Sache) in einer Textdatei abspeichern. Das Problem dabei: Tags sowie Sonderzeichen (&nbsp; etc.) werden natürlich mit abgespeichert.

Nun kam ich auf den genialen Einfall, wir erzeugen uns erst mal eine HTML-Datei, öffnen diese dann und lesen hieraus den Text aus. Leider hat der Plan nicht ganz so funktioniert, wie ich mir das gewünscht hätte. Denn (natürlich) wird nicht der Text ausgelesen, sondern erneut der HTML-Code - und damit auch wieder alle Tags und Sonderzeichen.

Dass man die Tags leicht herausfiltern kann, ist mir bewusst, aber wie sieht das mit den Sonderzeichen aus? Immerhin soll die Textdatei im Nachhinein maschinell weiter verarbeitet werden und da *n&uuml;tzt* mir ein unleserlicher Text nicht viel.

Was kann ich tun? Gibt es eine Möglichkeit, den tatsächlich angezeigten Inhalt auszulesen. Oder gibt es eine Tabelle, in der ich nach dem Sonderzeichen parse und mir das tatsächliche Zeichen zurückgeben lasse?

Wäre für jede Art von Hinweisen dankbar!
Bis dahin viele Grüße aus Weimar
und einen schönen Abend noch.


----------



## madboy (30. Jun 2009)

Eine Tabelle könntest du dir selber bauen (irgendwo gibts bestimmt eine zum Abschauen, bin gerade zu faul zum suchen). Du könntest aber auch dies hier benutzen:
StringEscapeUtils (Commons Lang 2.4 API))


----------



## ghummelll (30. Jun 2009)

madboy hat gesagt.:


> StringEscapeUtils (Commons Lang 2.4 API))


Super!! Vielen Dank! Das sieht sehr vielversprechend aus. Werd ich morgen gleich probieren (müsste jetzt erst das Betriebssystem wechseln  ).
Darf ich fragen, woher du das kennst? Ich hatt ja nicht mal Plan, was ich bei Google eingeben soll...


----------



## woezelmann (1. Jul 2009)

Alternativ kannst du auch versuchen, HtmlUnit zu benutzen. Das hat schon fertige Methoden, wie z.B.: 
	
	
	
	





```
HtmlPage.asText()
```
 (das Ding benutzt intern auch die Commons-Lang-API)


----------



## madboy (1. Jul 2009)

ghummelll hat gesagt.:


> Darf ich fragen, woher du das kennst? Ich hatt ja nicht mal Plan, was ich bei Google eingeben soll...


 Das kenne ich ursprünglich von google ;-) Hatte das selbe Problem damals.
Suche nach "java html unescape" oder so ähnlich


----------

