El vie, 02-02-2007 a las 13:19 -0300, Juan José Montes de Oca Arbós
escribió:
> Estoy haciendo una aplicación web, y tiene que ser compatible con IE y con
> FF. Estoy con un problema/duda con FF, cuando trabajo con XML.
> 
> El código que tengo es asi:
> 
>       unHTTP.open('POST', 'direccion.aspx', false);
>       unHTTP.setRequestHeader('Content-Type',
> 'application/x-www-form-urlencoded');
>       unHTTP.send('valor=1');
>       unXMLResp = unXMLResp.loadXML (unHTTP.responseText);
> 
> donde en IE:
> * unHTTP es un objeto de tipo ActiveXObject("Msxml2.XMLHTTP")
> * unXMLResp es un objeto de tipo ActiveXObject("Microsoft.XMLDOM")
> 
> donde en FF:
> * unHTTP es un objeto de tipo XMLHttpRequest()
> * unXMLResp es un objeto de tipo document.implementation.createDocument
> ("","",null)
> unHTTP.responseText tiene un string con formato de documento XML como este:
> <Error>Errores.aspx?inicio=2</Error>
> y bueno... el problema es que el objeto unXMLResp en FF no tiene el método
> loadXML ().
> 
> ¿como hago para cargar un XML que tengo en una variable de texto?

para "jugar" con métodos DOM con un XML externo en firefox, no hay que
cargarlo utilizando el objeto XMLHttpRequest, sino que el objeto tipo
implementation.createDocument tiene sus propios métodos:

var arbol = null; // variable global

function manejar_arbol() {
        alert(arbol.getElementsByTagName("ramas").length);
}

arbol = document.implementation.createDocument("", "", null);
arbol.onload = manejar_arbol
arbol.load("/ruta/al/fichero.xml");


Igual te viene bien poner un comprobador de navegador, y pasar de
xmlhttprequest en caso de que el cliente sea un FF.

Aunque personalmente, sobre todo si la carga de datos es muy pesada, te
recomiendo utilizar JSON para intercambiar datos Cliente-servidor. Es
más rápido y sobrecarga menos la máquina.

Un saludo

-- 
Javier Infante
Dpto. Internet y Desarrollo
Irontec, Internet y sistemas sobre GNU/Linux - http://www.irontec.com
+34 94 404 81 82  -  Ext. 202

_______________________________________________
javaEScript mailing list
[email protected]
http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net

Responder a