una sugerencia al usar XML
el recurrir a un ARRAY para almacenar nuestros datos cargados es innecesario
ya que el mismo XML es un como array, sería duplicar la información sin razón
para poder recorrer los hijos nodos(childNodes) de un NODO (firstchild) podemos hacerlo
a través de un id o verificando los nodeName por si los 'tags' fueran diferentes
:D