解决方案 »

  1.   

    xmlDoc=document.implementation.createDocument('', '', null);
    xmlDoc.async=false
    alert("即将加载文件"+xmlDoc);
            xmlDoc.load('canshu.xml'); 
    因为你异步加载,导致还未加载xml文件完毕就执行到console.log("根节点标签"+xmlDoc.firstChild.tagName)这句了
      

  2.   

    参考: XML Parser
    这样是不是更兼容?function loadXmlDoc(){
        var zhishuArray=new Array();
        var xmlDoc;
        alert("进入loadXmlDoc");
        if (window.XMLHttpRequest)
        {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp=new XMLHttpRequest();
        }
        else
        {// code for IE6, IE5
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        
        xmlhttp.onreadystatechange=function()
        {
            if (xmlhttp.status==200)
            {
                xmlDoc=xmlhttp.responseXML;
                alert("加载文件之后"+xmlDoc);
                console.log("根节点标签"+xmlDoc.firstChild.tagName);
                alert("根节点标签"+xmlDoc.firstChild.tagName);
                getmessage();
            }
            else
            {
                alert('加载失败,状态码: '+xmlhttp.status);
            }
        }
          
        alert("即将加载文件"+xmlDoc);
        xmlhttp.open("GET","canshu.xml",false);
        xmlhttp.send();
    }