| |||||||
Das Thema "Probleme beim einlesen von einer XML Datei" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #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
| 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> 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();
} 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));
}
} |
| | |
| | #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
|
Die XML ist auch nicht valide mit Umlauten. Die müssen kodiert werden wie in HTML: Sonderzeichen in XML |
| | |
| | #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
|
Hätte ich erwähnen sollen, die Umlaute sind alle kodiert. Man sieht es nur in dem Beispiel nicht. |
| | |
| | #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
|
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) |
| | |
| | #5 (permalink) |
| Junior Mitglied Registriert seit: 30.01.2010
Beiträge: 32
Abgegebene Danke: 7
Erhielt 11 Danke für 6 Beiträge
|
komplett ohne Fachwissen und ins Blaue geraten: http://developer.android.com/referen...a.lang.String)) Gruß, Kölly |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| 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 |