Error al analizar XML de Android.
En mi aplicación (juego), necesito leer un script XML y convertirlo en un objeto de clase; He completado todo el lector XML a través de DOM
pero cuando corro, recibí el siguiente error:
<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>
He leído algunas respuestas sobre esto, pero todas fallaron en solucionar mi problema (http://stackoverflow.com/questions/7885962/android-utf-8-file-parsing) ..
Aquí está mi código:
<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>
De acuerdo con el problema, también he intentado esto para:
<code> InputStream inputStream = ctx.getResources().openRawResource(R.xml.script); Document root = db.parse(inputStream); </code>
que produjo exactamente las mismas excepciones ...
¿Cómo resolver este problema?
mi archivo xml:
<code><script> <scene no="0"> <character id="1">1</character> <dialog no="1"> <title>1</title> Sub-Element 1 </dialog> </scene> </script> </code>