1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. Raidri, 19.05.2010 #1
    Raidri

    Raidri Threadstarter Android-Hilfe.de Mitglied

    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
     
  2. the_alien, 19.05.2010 #2
    the_alien

    the_alien Android-Lexikon

    Die XML ist auch nicht valide mit Umlauten. Die müssen kodiert werden wie in HTML:
    Sonderzeichen in XML
     
  3. Raidri, 19.05.2010 #3
    Raidri

    Raidri Threadstarter Android-Hilfe.de Mitglied

    Hätte ich erwähnen sollen, die Umlaute sind alle kodiert.
    Man sieht es nur in dem Beispiel nicht.
     
  4. the_alien, 19.05.2010 #4
    the_alien

    the_alien Android-Lexikon

  5. koelly, 20.05.2010 #5
    koelly

    koelly Junior Mitglied

Die Seite wird geladen...
Ähnliche Themen Forum Datum
[OFFEN] Fehler beim Projekt importieren Android App Entwicklung 03.10.2017
[OFFEN] Widget zeigt keine ImageView an. Android App Entwicklung 18.09.2017
[ERLEDIGT] (Verständnis-)Probleme mit SwipeRefreshLayout Android App Entwicklung 12.08.2017
[ERLEDIGT] Samsung S3 USB Dateien werden nicht aktualisiert Android App Entwicklung 03.08.2017
[ERLEDIGT] Android O Neue Fonts in XML Methode Android App Entwicklung 27.07.2017
[ERLEDIGT] Probleme mit Bluetooth / Beam Ordner Android App Entwicklung 25.07.2017
[GESCHLOSSEN] Kennt jemand ein Programm , um .DEX Dateien zu öffnen, bearbeiten und wieder speichern? Android App Entwicklung 20.07.2017
[ERLEDIGT] Probleme mit AdMob Android App Entwicklung 19.07.2017
[ERLEDIGT] Probleme mit Service unter Android N Android App Entwicklung 16.07.2017
[OFFEN] Probleme in den Speicher schreiben Android App Entwicklung 13.07.2017
Du betrachtest das Thema "Probleme beim einlesen von einer XML Datei" im Forum "Android App Entwicklung",