Niepoprawny parse XML systemu Android Nieoczekiwany token
W mojej aplikacji (grze) muszę przeczytać skrypt XML i przekształcić go w obiekt klasy; Wypełniłem cały czytnik XML przez DOM
ale gdy uruchomię, otrzymałem następujący błąd:
<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>
przeczytałem kilka odpowiedzi na ten temat, ale wszyscy nie udało mi się rozwiązać mojego problemu (http://stackoverflow.com/questions/7885962/android-utf-8-file-parsing) ..
oto mój kod:
<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>
w zależności od problemu próbowałem tego również:
<code> InputStream inputStream = ctx.getResources().openRawResource(R.xml.script); Document root = db.parse(inputStream); </code>
co dało dokładnie te same wyjątki ...
jak rozwiązać ten problem?
mój plik xml:
<code><script> <scene no="0"> <character id="1">1</character> <dialog no="1"> <title>1</title> Sub-Element 1 </dialog> </scene> </script> </code>