Allora sto facendo un sito che contiene questa piccola funzione

codice:
function leggiContenuto(a, nomeNodo,posizione)
{
	return a.getElementsByTagName(nomeNodo).item(posizione).firstChild.nodeValue;
}
che su firefox va ma su IE no. Io prendo il file xml da questa funzione:

codice:
function scriviHeader(el,xmlDoc)
{
	var xml,x,txt;
	var dXML,opz;
	var objHTTP = XMLHttp();
	if(objHTTP)
	{
		try{
			objHTTP.open("GET", xmlDoc, true);
			// rimozione dell'header "connection" come "keep alive"
			objHTTP.setRequestHeader("connection", "close");
			objHTTP.onreadystatechange = function()
			{
				if(objHTTP.readyState === 4)
				{
					if(objHTTP.status == 200 || objHTTP.status == 0)
					{
						//var elemento = xmlDoc.getElement
						// verifica della validità dell'XML restituito dal server
						if(objHTTP.responseXML)
						{
							
							var dXML,opz;
							dXML = objHTTP.responseXML;
							opz = cercaContenuto(objHTTP.responseXML, "opzione");
							var result = "<ul>";
							
							for(var a = 0, b = opz.length; a < b; a++)
							{
								result += "[*]<a href=\"";
								result += leggiContenuto(dXML, "eventoAssociato", a);
								result += "\" >" + leggiContenuto(dXML, "nomeOpzione", a);
								result += "<span>" + leggiContenuto(dXML, "descrizione", a);
								result += "</span></a>";
							}
							result += "[/list]

";
							result += "</h1>";
							el.innerHTML = result;
						}
						else
						{
							alert("Errore!");
						}
						
					}
					else
					{
						alert("Operazione fallita, errore numero " + objHTTP.status);
					}
				}
			}
		
			// invio richiesta
			objHTTP.send(null);
		}catch(err){alert(err.message);}
	}
}
Che è una normalissima richiesta AJAX che poi va a leggere il contenuto di ciò che gli serve. Il bello è che se invece della richiesta ajax ci vado a mettere una lettura normale con load:
codice:
function scriviHeader(el,xmlDoc)
{
	var xml,x,txt;
	var dXML,opz;
	dXML = loadXMLDoc(xmlDoc);
	opz = cercaContenuto(dXML, "opzione");
	var result = "<ul>";
	for(var a = 0, b = opz.length; a < b; a++)
	{
		result += "[*]<a href=\"";
		result += leggiContenuto(dXML, "eventoAssociato", a);
		result += "\" >" + leggiContenuto(dXML, "nomeOpzione", a);
		result += "<span>" + leggiContenuto(dXML, "descrizione", a);
		result += "</span></a>";
	}
	result += "[/list]

";
	result += "</h1>";
	el.innerHTML = result;
}
in questo caso non mi da problemi ma a questo punto sorge spontanea una domanda...la richiesta AJAX e la lettura con load restituiscono oggetti diversi? OK che una viene fatta con XMLHttpRequest() e l'altra con ActiveXObject("MSXML2.XMLHTTP") o con ActiveXObject("Microsoft.XMLHTTP") ma non dovrebbe essere possibile leggerle tutte e due con lo stesso metodo

codice:
	a.getElementsByTagName(nomeNodo).item(posizione).firstChild.nodeValue
oppure
	a.getElementsByTagName(nomeNodo)[posizione].firstChild.nodeValue
c'è qualche metodo di lettura diverso con ActiveX.

Scusate per il post lungo...