Hola, una vez mas quiero aportarles un tema sencillo y básico pero que alguna vez nos ha causado molestias desarrollando aplicaciones web con javascript en los diferentes navegadores existentes, el cual consiste en la lectura de archivos xml desde javascript y recorrer los diferentes elementos utilizando DOM.
Investigando encontré una cantidad de funciones y formas para cargar un archivo xml supuestamente compatibles con al menos tres de los navegadores mas utilizados (Internet Explorer 9, Google Chrome y Firefox) pero ninguno cumplia a cabalidad lo que deseaba, es por eso que busqué y probé varios hasta que me encontré con la página http://www.w3schools.com de donde obtuve la siguiente función:
function loadXMLDoc(xml)
{
if (window.XMLHttpRequest)
{
xhttp=new XMLHttpRequest();
}
else
{
xhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET",xml,false);
xhttp.send();
return xhttp.responseXML;
}
{
if (window.XMLHttpRequest)
{
xhttp=new XMLHttpRequest();
}
else
{
xhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET",xml,false);
xhttp.send();
return xhttp.responseXML;
}
Con ésta función es posible cargar archivos xml con javascript, siendo éste compatible con los navegadores mencionados anteriormente (al menos con esos los probé y funcionó exitosamente) así que para utilizarlo solamente es necesario invocarlo y enviarle como parámetro el nombre o ruta del archivo xml, como se muestra a continuación:
var xmlDoc;
var nodos=null;
xmlDoc=loadXMLDoc("info.xml");
nodos = xmlDoc.documentElement.childNodes;
xmlDoc=loadXMLDoc("info.xml");
nodos = xmlDoc.documentElement.childNodes;
Con lo anterior obtenemos todos los elementos existentes dentro de un archivo xml, y se almacena en la variable 'nodos' que se podrá recorrer utilizando todas las funciones existentes de DOM. Eso era todo. Saludos!
Bibliografia:
http://www.w3schools.com/dom/dom_loadxmldoc.asp
http://www.w3schools.com/dom/dom_nodes_access.asp
http://www.w3schools.com/dom/tryit.asp?filename=try_dom_list_loop