2012-08-15 19 views
7

Ich mache regelmäßige XML-Parsing auf Android, und sehr selten bekomme ich diese Ausnahme und nur auf bestimmten Telefonen. Ich war nicht in der Lage, das Problem zu lösen. Hat jemand eine Idee, was das verursachen könnte?ArrayIndexOutOfBoundsException in androids KXmlParser

java.lang.ArrayIndexOutOfBoundsException: src.length=8192 srcPos=1 dst.length=8192 dstPos=0 length=-1 
    at java.lang.System.arraycopy(Native Method) 
    at org.kxml2.io.KXmlParser.fillBuffer(KXmlParser.java:1489) 
    at org.kxml2.io.KXmlParser.skip(KXmlParser.java:1574) 
    at org.kxml2.io.KXmlParser.parseStartTag(KXmlParser.java:1049) 
    at org.kxml2.io.KXmlParser.next(KXmlParser.java:369) 
    at org.kxml2.io.KXmlParser.next(KXmlParser.java:310) 

Antwort

1

Ich habe eine ähnliche Ausnahme. In meinem Fall wurde die XML heruntergeladen und auf dem SD gespeichert. Als ich die Datei öffnete, sah ich, dass sie "mitten im Satz" herausgeschnitten wurde. Es sah so aus, als wäre beim Herunterladen der Datei ein Fehler aufgetreten. Durch das Löschen der Datei und das erneute Herunterladen wurde das Problem in dieser Instanz behoben. Um jedoch zukünftige Probleme desselben Typs zu vermeiden, überprüfe ich beim Lesen eines xml auf ArrayIndexOutOfBoundsException und nehme an, dass die Datei beschädigt ist, wenn sie eine fängt.

Es ist offensichtlich nur eine Bandaid-Lösung für ein vage definiertes Problem im Moment. Wenn ich mehr herausfinde, werde ich meine Antwort aktualisieren.

0

fand ich ein Bug-Fix für Android 4.4 diese Erwähnung: Change 61530

So ist die richtige Ausnahme, die Sie bekommen ist sein sollten: Unterminated Elementgehalt spec, was bedeutet, unerwarteten EOF.

0

Die untere Ebene (kxml) gibt fälschlicherweise eine unkontrollierte Exception aus, wenn sie auf ein fehlerhaftes xml stößt. Zur Umgehung dieses, wenn XmlPullParser verwenden, ersetzen

try { 
    // use XmlPullParser 
} 
catch (XmlPullParserException ex) { ... } 

mit

try { 
    // use XmlPullParser 
} 
catch (Exception ex) { ... } 
Verwandte Themen