Se ha producido un error de análisis XML de Android Error inesperado

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, tengo el siguiente error:

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) 

He leído algunas respuestas sobre esto, pero todos ellos no pudieron solucionar mi problema (http://stackoverflow.com/questions/7885962/android-utf-8-file-parsing) ..

Aquí está mi código:

  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); 

de acuerdo con el problema, también he intentado esto para:

  InputStream inputStream = ctx.getResources().openRawResource(R.xml.script); Document root = db.parse(inputStream); 

que produjo exactamente las mismas excepciones …

¿Cómo resolver este problema?

mi archivo xml:

 <script> <scene no="0"> <character id="1">1</character> <dialog no="1"> <title>1</title> Sub-Element 1 </dialog> </scene> </script> 

Su XML no es válido. El "subelemento 1" debe estar dentro de un elemento. Los documentos XML también deben comenzar con una etiqueta que lo defina como XML: <?xml version="1.0" ?> Xml <?xml version="1.0" ?> Su archivo completo sería:

 <?xml version="1.0" ?> <script> <scene no="0"> <character id="1">1</character> <dialog no="1"> <title>1</title> <something_else>Sub-Element 1</something_else> </dialog> </scene> </script> 

O puede usar "Sub-Element" como el nombre del elemento (en lugar de something_else ) y 1 como el valor.

¿Dónde almacena su archivo xml? En la carpeta "res". Debe guardarlo en "activos". Res-solución no funciona debido a la especificación de la carpeta "res" y su presentación en el apk. Mueva su archivo a los "activos" y verá que todo está funcionando. Utilice el código siguiente para crear InputSource

 getAssets().open("yourfilename.xml") 
  • Girar ImageView verticalmente
  • ¿Cómo puedo obtener una vista de texto para que aparezca debajo de otra vista de texto? Androide
  • El diálogo del progreso tiene el fondo blanco en dispositivos del Lollipop,
  • Cambiar imagen
  • ¿Java sobreescribe XML en Android?
  • Contenido detrás de CoordinatorLayout AppBarLayout
  • La vista de desplazamiento de Android es demasiado larga
  • Android Color - ¿Cuánto más oscuro es primaryColorDark que primaryColor?
  • Cómo tener selectableItemBackground en Imageview?
  • Error Unparsed Aapt
  • El fragmento no se puede convertir en Contexto
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.