Se puede hacer de dos maneras, con dos analizadores distintos: SAX y DOM
* DOM: genera un árbol en memoria de todo el documento y para sacar el nombre de las etiquetas tendrías que ir recorriendo el árbol, es bastante fácil, pero si el documento es muy grande el árbol ocupará mucha memoria y su recorrido llevará más tiempo, es probable q la aplicación "casque" por falta de memoria.
* SAX: analiza el fichero XML a través de eventos por lo que no tiene que cargar en memoria toda la información del fichero. Es más difícil de realizar pero mucho más eficiente en cuanto a tiempo y uso de memoria.
Un saludo y suerte