Ps yo lo hago de manera distinta, pero me parece que lo que te falta es un
xmlDoc.onreadystatechage = function() { textoXml.innerText = xmlDoc.xml; }
o algo asi, porque lo estas usando de manera asincrona (xmlDoc.async="true")
bueno, igual te dejo un ejemplo de la manera en que yo lo hago:
Igual tu ejemplo que tienes aunque lo hicieras funcionar solo seria valido para windows, te dejo un ejemplo de como lo hago yo:
Código:
function getXML(){
if(window.ActiveXObject){/// en caso de que sea IE
var xmlObject = new ActiveXObject("Microsoft.XMLDOM");
xmlObject.async="false";
xmlObject.onreadystatechange = function(){
if (xmlObject.readyState == 4)
{
xmlObj=xmlObject.documentElement;
for(var x=0; x<nodesQuan; x++){
xmltag1 = myxml.childNodes(x).getElementsByTagName("xmltag1");//esto lo cambias por el nombre de tus tags;
// Aqui haces lo que quieras con el contenido de tu etiqueta
}
}
}
xmlObject.load("tuxml.xml");
//////
/////
}else if(window.XMLHttpRequest){//para FF y otros
var xmlObject = new XMLHttpRequest();
xmlObject.onreadystatechange = function(){
if(xmlObject.readyState == 4 && xmlObject.status == 200){
var response = xmlObject.responseXML.documentElement;
nodesQuan = response.getElementsByTagName('duracion').length;
for(var x=0; x<nodesQuan; x++){
var xmlag1 = response.getElementsByTagName('xmltag1')[x].firstChild.data;
//Aqui haces lo que quieras con tu xmltag1
}
}
}
xmlObject.open("GET","tuxml.xml",true);
xmlObject.send(null);
}
};
En la parte donde dice //Aqui haces lo que quieras <- puedes mandar a llamar una funcion para que te coloque los datos en tu pagina