Problem mit SAX und ISO-8859-1

  • Antworten:2
Sebastian W.
  • Forum-Beiträge: 3

19.01.2011, 20:03:52 via Website

Hi!

Ich hab folgendes Problem mit SAX: Stecke einen XML-Stream in Form von utf-8 rein, funktioniert alles einwandfrei. Verwendet das Dokument (RSS-Feed) allerdings ISO-8859-1, so bekomm ich bei Umlauten eine "not well-formed" exception.
Eingelesen wird der Stream über
1SAXParser parser = factory.newSAXParser();
2URL url = new URL("http://....");
3parser.parse(url.openStream(), new MyHandler());
Weiß hier jemand weiter?
Danke!

Gruß
sebastian

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

24.02.2011, 11:00:28 via Website

Dafür gibt es evtl. entsprechende Reader Klasse die das erledigen, allerdings nicht sehr generisch der ansatz.

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten
j4velin
  • Forum-Beiträge: 3

11.02.2012, 00:46:12 via Website

hatte das problem auch. habs gelöst in dem ich der inputsource einfach das encoding mit angegeben hab und dann als bytestream les:

1is = new URL(this.urlString).openConnection().getInputStream();
2sp = factory.newSAXParser();
3InputSource isource = new InputSource();
4
5if (encoding != null) {
6 isource.setEncoding(encoding);
7 isource.setByteStream(is);
8} else {
9 urlInputStream = new InputStreamReader(is);
10 isource.setCharacterStream(urlInputStream);
11}
12sp.parse(isource, this);

Antworten