Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Probleme beim einlesen von einer XML Datei

Das Thema "Probleme beim einlesen von einer XML Datei" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 19.05.2010, 20:18   #1 (permalink)
Android-Hilfe.de Mitglied

Modell: Samsung Galaxy S2 (I9100)

Registriert seit: 27.03.2010
Beiträge: 58
Abgegebene Danke: 3
Erhielt 1 Danke für 1 Beitrag
Standard Probleme beim einlesen von einer XML Datei

Hey,

Folgendes Problem habe ich. Ich versuche diese Datensatz einzulesen
Code:
<customer>
<created-at type="datetime">2010-05-19T17:53:31+02:00</created-at>
<id type="integer">83555</id>
<name>Möppel</name>
<note>öööääää üüüü</note>
<updated-at type="datetime">2010-05-19T18:40:11+02:00</updated-at>
<archived type="boolean">false</archived>
</customer>
Funktioniert alles soweit, bis die umlaute kommen, wie bei dem namen "Möppel". Ich bekomme dann nur die Ausgabe "ppel".
Die Xml datei ist auf encoding="UTF-8"

Ich nutze den Saxparser mit nem Contenhandler. Nur wo ist mein Fehler ?
Code:
this.get.setURI(new URI(this.getRootURL()+"customers.xml"));
            this.get.addHeader("Content-Type", "text/xml; charset=UTF-8");
            this.response = this.client.execute(get);
            final ArrayList<Customer> customerList = new ArrayList<Customer>();
            
            final HttpEntity entity = this.response.getEntity();  
            
            int statusCode = this.response.getStatusLine().getStatusCode();
            if(statusCode == 200){
                if(entity != null){
                    InputStream is = entity.getContent();

                    InputSource iso = new InputSource(is);
                    
                    
                    SAXParserFactory spf = SAXParserFactory.newInstance();
                    SAXParser sp = spf.newSAXParser();
                    
                    XMLReader reader = sp.getXMLReader();
    
                    CustomerXMLHandler handler = new CustomerXMLHandler();
                    
                    
                    reader.setContentHandler(handler);
                    reader.parse(iso);
                    is.close();
                    sp.reset();
                    
                    customerList.addAll(handler.getCustomers());
    
                }
                
                this.responder.setData(customerList);
                this.responder.result();
            }
und hier der ContentHandler

Code:
@Override
     public void characters(char ch[], int start, int length) {
         if(this.id){
             this.customer.setId(Integer.parseInt(new String(ch, start, length)));
         }
         else if(this.name){
             this.customer.setName(new String(ch, start, length));
         }
         else if(this.note){
             this.customer.setNote(new String(ch, start, length));
         }
         else if(this.archived){
             this.customer.setArchived(Boolean.parseBoolean(new String(ch, start, length)));
         }
         else if(this.createdAt){
             this.customer.setDate(new String(ch, start, length));
         }
     }
Danke für die Hilfe
Raidri ist offline   Mit Zitat antworten
Alt 19.05.2010, 21:19   #2 (permalink)
Android Guru

Modell: T-Mobile G1, Nexus One, Samsung Galaxy Tab 10.1, Samsung Galaxy Nexus

Registriert seit: 04.05.2009
Beiträge: 1.599
Abgegebene Danke: 128
Erhielt 210 Danke für 193 Beiträge
Standard AW: Probleme beim einlesen von einer XML Datei

Die XML ist auch nicht valide mit Umlauten. Die müssen kodiert werden wie in HTML:
Sonderzeichen in XML
the_alien ist offline   Mit Zitat antworten
Alt 19.05.2010, 21:53   #3 (permalink)
Android-Hilfe.de Mitglied

Modell: Samsung Galaxy S2 (I9100)

Registriert seit: 27.03.2010
Beiträge: 58
Abgegebene Danke: 3
Erhielt 1 Danke für 1 Beitrag
Standard AW: Probleme beim einlesen von einer XML Datei

Hätte ich erwähnen sollen, die Umlaute sind alle kodiert.
Man sieht es nur in dem Beispiel nicht.
Raidri ist offline   Mit Zitat antworten
Alt 19.05.2010, 22:14   #4 (permalink)
Android Guru

Modell: T-Mobile G1, Nexus One, Samsung Galaxy Tab 10.1, Samsung Galaxy Nexus

Registriert seit: 04.05.2009
Beiträge: 1.599
Abgegebene Danke: 128
Erhielt 210 Danke für 193 Beiträge
Standard AW: Probleme beim einlesen von einer XML Datei

Du musst die char arrays entsprechend konvertieren. Char hat 8 bit und Unicode Zeichen haben 16 bit.
Lies dich hier mal ein: Converting Non-Unicode Text (The Java™ Tutorials > Internationalization > Working with Text)
the_alien ist offline   Mit Zitat antworten
Alt 20.05.2010, 01:00   #5 (permalink)
Junior Mitglied

Registriert seit: 30.01.2010
Beiträge: 32
Abgegebene Danke: 7
Erhielt 11 Danke für 6 Beiträge
Standard AW: Probleme beim einlesen von einer XML Datei

komplett ohne Fachwissen und ins Blaue geraten:

http://developer.android.com/referen...a.lang.String))

Gruß,
Kölly
koelly ist gerade online   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
Probleme beim einlesen von einer XML Datei Raidri Android App Entwicklung 0 27.03.2010 00:32
Inhalt einer Datei in Variable einlesen juMu Android App Entwicklung 3 17.02.2010 17:29
Einlesen xml-Resource ohne R.layout.x mrdanger Android App Entwicklung 2 15.02.2010 08:55
XML Einlesen klappt nicht Samsung I7500 Android App Entwicklung 0 17.09.2009 21:23
XML übers Inet einlesen? Samsung I7500 Android App Entwicklung 2 01.09.2009 09:51




Du liest gerade: "Probleme beim einlesen von einer XML Datei" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.