Android XML-Analyse fehlgeschlagen Unerwartetes Token
In meiner App (Spiel) muss ich ein XML-Skript lesen und mich in ein Klassenobjekt verwandeln. Ich habe den gesamten XML-Reader über DOM abgeschlossen
Aber wenn ich renne, erhalte ich den folgenden Fehler:
<code>05-08 23:03:22.342: I/System.out(588): XML Pasing Excpetion = org.xml.sax.SAXParseException: Unexpected token (position:TEXT ��������������������...@1:69 in java.io.InputStreamReader@4129a200) </code>
Ich habe einige Antworten dazu gelesen, aber alle konnten mein Problem nicht beheben (http://stackoverflow.com/questions/7885962/android-utf-8-file-parsing).
Hier ist mein Code:
<code> InputStream inputStream = ctx.getResources().openRawResource(R.xml.script); ctx.getApplicationContext().getPackageName()+"/xml/"+path); Reader reader = new InputStreamReader(inputStream,"UTF-8"); InputSource is = new InputSource(reader); is.setEncoding("UTF-8"); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document root = db.parse(is); </code>
Je nach Problem habe ich auch Folgendes versucht:
<code> InputStream inputStream = ctx.getResources().openRawResource(R.xml.script); Document root = db.parse(inputStream); </code>
die genau die gleichen Ausnahmen produziert ...
Wie kann man dieses Problem lösen?
Meine XML-Datei:
<code><script> <scene no="0"> <character id="1">1</character> <dialog no="1"> <title>1</title> Sub-Element 1 </dialog> </scene> </script> </code>