Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/12/2007, 13:46
drumman
 
Fecha de Ingreso: diciembre-2007
Mensajes: 5
Antigüedad: 16 años, 4 meses
Puntos: 0
Problemas con AJAX y XML en EXPLORER

Buenas, estoy colocando informacion generada en formato XML en un combo. Esto funciona correctamente en Mozilla pero no en IE. Lei por ahi que no funcionaba el document.createTextNode en IE, pero no es eso. Los elementos que agrego con createTextNode pero que no vienen del XML los veo perfectamente.
Copio el codigo: completo

<HTML>
<SCRIPT language="javascript">
var xmlDoc;
function crearObjetoXML(archivoXML){
if(window.ActiveXObject){
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.load(archivoXML);
parsearXML();
}else if(document.implementation && document.implementation.createDocument){
xmlDoc = document.implementation.createDocument("","",null) ;
xmlDoc.load(archivoXML);
xmlDoc.onload = parsearXML;
}
}

function parsearXML(){
var contenido = document.getElementById("contenido");
var longitudXML = xmlDoc.firstChild.childNodes.length;

document.getElementById("sel").innerHTML ="";
combito = document.getElementById("sel");

//agrego elemento a mano para probar
option = document.createElement( 'option' );
option.appendChild( document.createTextNode('-- seleccione Pais --'));
combito.appendChild( option );

//agrego elemento a mano para probar
option = document.createElement( 'option' );
option.appendChild( document.createTextNode('opcion cero'));
combito.appendChild( option );

for(var i=0;i<=longitudXML-1;i++){
//agrego los datos que llegan en el XML (esto no anda)
option = document.createElement( 'option' );
elemento = xmlDoc.firstChild.getElementsByTagName('pais')[i].getAttribute('desc');
option.appendChild( document.createTextNode(elemento));
document.getElementById("sel").appendChild( option );
}
}

</SCRIPT>

</HEAD>
<BODY onLoad="crearObjetoXML('probando.xml');">
<DIV id=contenido></DIV>

<DIV id=desc>
<SELECT name="sel" id="sel"> </SELECT>
</DIV>

</BODY>
</HTML>

y el XML:

<?xml version="1.0" encoding="iso-8859-1"?>
<paises>
<pais id="1" desc="Argentina" codigo="080" />
<pais id="2" desc="Brasil" codigo="090" />
<pais id="4" desc="Chile" codigo="050" />
<pais id="3" desc="Peru" codigo="070" />
<pais id="3" desc="Paraguay" codigo="070" />
<pais id="5" desc="Uruguay" codigo="040" />
</paises>