Foros del Web » Programación para mayores de 30 ;) » Programación General »

Problemas con el lenght en un archivo xml

Estas en el tema de Problemas con el lenght en un archivo xml en el foro de Programación General en Foros del Web. Hola! Estoy haciendo una aplicacion que carga un menu de un fichero xml, y no conseguia que funcionase correctamente en IE y Mozilla. Al final ...
  #1 (permalink)  
Antiguo 15/05/2006, 10:12
 
Fecha de Ingreso: noviembre-2004
Mensajes: 7
Antigüedad: 19 años, 5 meses
Puntos: 0
Problemas con el lenght en un archivo xml

Hola!
Estoy haciendo una aplicacion que carga un menu de un fichero xml, y no conseguia que funcionase correctamente en IE y Mozilla. Al final he encontrado el fallo, a ver si alguien me dice por que pasa.

En el explorer me dice que tengo 5 hijos (que es lo correcto)
En cambio en el mozilla me dice que tengo 11!! por lo que continua ejecutando el bucle y peta el javascript!



Este seria el fichero XML:
<?xml version="1.0" encoding="ISO-8859-1"?>
<menu>
<sel id="1" ref="indetity">identity role</sel>
<sel id="2" ref="structure">structure and tools</sel>
<sel id="3" ref="de">operational policy</sel>
<sel id="4" ref="association">association</sel>
<sel id="5" ref="external">external communication</sel>
</menu>


Funcion Javascript

function importXML(xmlFile)
{


if (document.implementation && document.implementation.createDocument)
{
xmlDoc = document.implementation.createDocument("", "", null);
xmlDoc.onload = cargarmenu;
}
else if (window.ActiveXObject)
{

xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.onreadystatechange = function () {
if (xmlDoc.readyState == 4) cargarmenu()
};
}
else
{
alert('Your browser can\'t handle this script');
return;
}
xmlDoc.load(xmlFile);
}

function cargarmenu()
{
var textomenu="";
var x = xmlDoc.getElementsByTagName('menu');
var xmlFile = xmlDoc.getElementsByTagName("menu");

for (j=0;j<x[0].childNodes.length;j++)
{
alert(x[0].childNodes.length);

textomenu+= "<a href='"+xmlDoc.getElementsByTagName("menu")[0].getElementsByTagName("sel")[j] .getAttribute("ref")+"'>";
textomenu+=xmlDoc.getElementsByTagName("menu")[0].getElementsByTagName("sel")[j] .firstChild.nodeValue + "</a>";
}
alert(textomenu);
document.getElementById("menuleft").innerHTML= textomenu;
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:14.