Buenas noches a todos !!!
Verán, estoy intentando hacer una función que me lea un XML recursivamente, sin que dependa de cuantos nodos hijos tenga ni nada por el estilo.
Para ello he creado lo siguiente:
Partiendo de un fichero XML llamado: Configuracion.xml con la siguiente estructura:
<?xml version="1.0" encoding="iso-8859-1"?>
<Menu>
<Mnusistemas texto="Sistemas Operativos">
<Sistema texto="Linux">
<Subsistema>Slackware</Subsistema>
<Subsistema>Debian</Subsistema>
<Subsistema>Red Hat</Subsistema>
</Sistema>
<Sistema texto="Windows">
<Subsistema>Windows 2000</Subsistema>
<Subsistema>Longhorn</Subsistema>
<Subsistema>Windows XP</Subsistema>
</Sistema>
</Mnusistemas>
<Mnulenguajes texto="Lenguajes de Programacion">
<Lenguaje>Visual Basic</Lenguaje>
<Lenguaje>Action Script</Lenguaje>
<Lenguaje>Cobol</Lenguaje>
<Lenguaje>C#</Lenguaje>
</Mnulenguajes>
</Menu>
He creado la siguiente función, pero no me funciona del todo y la verdad, por más que me como la cabeza no sé como podría hacerlo, espero que puedan hecharme un cable:
function crearMenu(nodo){
for(var i=0; i<nodo.childNodes.length; i++){
if (nodo.childNodes[i].hasChildNodes()){
trace(nodo.childNodes[i].attributes.texto);
crearMenu(nodo.childNodes[i]);
}else{
trace(nodo.childNodes[i].nodeValue);
}
}
}
crearMenu(Objxml.firstChild);
Asi en teoría deberia de cargarme el menu completo ¿Verdad?, ¿Alguien puede corregir mi error o indicarme que es lo que me falta y me sobra?, os estaré muy agradecido y desde ya, muchas gracias.
Saludos !!!