Sonderzeichen beim Parsen einer XML

  • Antworten:2
  • Bentwortet
Hermann S.
  • Forum-Beiträge: 45

10.06.2011, 14:55:26 via Website

Hallo, mein SAX-Parser ließt eine XML mit Benutzernamen ein, die später in Text-Views gesetzt werden.
Nun ist da plötzlich ein ausländischen Name drin "...Irgendwas... Šrobárová" (In XML sieht es so aus "Šrobárová")
In der Log-Ausgabe steht für diesen Namen nur ein "á".

Geparst wird ganz einfach:
1public void characters(char[] ch, int start, int length) throws SAXException {
2Log.v(TAG,new String(ch, start, length));

Das ist ist jetzt ein kleines Problem. Kann man das lösen?

Antworten
Markus B.
  • Forum-Beiträge: 636

10.06.2011, 15:40:46 via Website

Hi,
das kannst du ganz einfach lösen. Fangen wir aber mit der Frage an, warum ist das so ?

Sax macht aus deinem String folgende character-events:

Characters: "Š"
Characters: "rob"
Characters: "á"
Characters: "rov"
Characters: "á"

Du siehst dann in deinem Log eben am Ende nur das "á".
Das kannst du ganz leicht umgehen in dem du die beim startElement-event einen Buffer/StringBuilder/... anlegst und alle folgenden character-events dort reinschreibst. Bei nächsten endElement-event weißt du dann alle character-events durchlaufen wurden und du kannst dann dein Buffer ausgegen, welcher dann in diesem Fall folgenden Inhalt haben wird: Šrobárová

Sollte so funktionieren :)

Gruß,
Markus

Antworten
Hermann S.
  • Forum-Beiträge: 45

10.06.2011, 16:12:19 via Website

Wow, das hat mein Problem gelöst.
Hab vielen, vielen Dank :)

Antworten