Problema al cargar y analizar XML desde recursos

He escrito un analizador que analiza un archivo xml desde un HttpURLConnection. Esto funciona bien.

Problema: Necesito volver a escribir esto para que el archivo xml se cargue desde recursos locales en lugar de desde Internet, pero no puedo hacer que esto funcione … Solo para darle una idea de cómo se ve el analizador web original:

InputStream in=null; URLConnection connection = url.openConnection(); HttpURLConnection httpConnection = (HttpURLConnection)connection; int responseCode = httpConnection.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { in = httpConnection.getInputStream(); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document dom = db.parse(in); Element docEle = dom.getDocumentElement(); NodeList nl = docEle.getChildNodes(); for (int i = 0; i < nl.getLength(); i++) { Node node = nl.item(i); //START PARSING...... 

Ahora aquí está el código que estoy usando para intentar analizar desde un recurso local ubicado en xml / myfile.xml en la carpeta de recursos:

 InputStream in=null; in = mParentActivity.getResources().openRawResource(R.xml.myfile); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document dom = builder.parse(in); // THIS IS WHERE I GET AN SAXParseException Element root = dom.getDocumentElement(); NodeList nl = root.getChildNodes(); for (int i = 0; i < nl.getLength(); i++) { Node node = nl.item(i); //START PARSING...... 

El archivo xml local y el archivo web son exactamente iguales … Si alguien lo echara un vistazo: http://agens.no/Eniro/Android/SEWheel/Category2.plist.xml

Y aquí está el seguimiento de stack: 02-01 16: 08: 45.546: WARN / System.err (19703): org.xml.sax.SAXParseException: nombre esperado (posición: START_TAG @ 1: 309 en java[email protected])

Precia todas tus ayudas 🙂

Encontré la respuesta … Cuando el archivo era la carpeta res / xml, la secuencia de entrada mostraba muchos caracteres no válidos. Cuando lo puse en la carpeta res / raw funcionó bien.