Según lo indicado por el usuario, recomendaría descargar trozo por fragmento y no todo el archivo a la vez, porque si lo haces en la banda de rodadura principal puede ralentizar toda tu aplicación, hazlo con asynctask y hazlo pedazo por pedazo. Aparte de eso, puedo recomendar alguna publicación sobre el tema.
-En this posterior se puede encontrar un enlace a un artículo sobre how to use SAX
-En this uno puede encontrar otro SAX and DOM tutorial
espero que estos dos artículos pueden ayudar logras lo que necesitas O si ambos artículos fallan con su problema, entonces puede tratar de encontrar una mejor manera de organizar su XML, siempre hay una mejor manera de hacerlo, solo necesita pensar un poco más.
ACTUALIZACIÓN:
-Este otro post sobre STAX puede ser útil, porque es una API de Streaming para procesamiento de XML, por lo que puede ser el mejor para su caso.
Estoy analizando xml ... necesito todo xml en una sola cadena ... si lo almacené en una tarjeta sd, entonces también tengo que leerlo en una cadena que también requiere más memoria de montón ... el resultado es un error ... –