你的xml应该已经load了你把alert(xmlDoc.doctype);换成alert(xmlDoc.xml);看看

解决方案 »

  1.   

    换成alert(xmlDoc.xml);之后显示的是空白
      

  2.   

    xmlDoc.load(file_path);
    这句意思是加载xml文件,但不一定直接就加载完毕了。
    所以必须在得反复判断加载得状态,知道加载完毕了,才能访问xml的实际内容。参考
    var xmlDoc;
    function hehe()
    {
      if(window.ActiveXObject)
        {
          xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
          xmlDoc.onreadystatechange=function()
          {
            if(xmlDoc.readyState==4)
            {
              handleXmlDoc();
            }
          }

          xmlDoc.load("data.xml");
        }
      else if(document.implementation&&document.implementation.createDocument)
      {
        xmlDoc=document.implementation.createDocument('','',null);
        xmlDoc.onload=handleXmlDoc;
        xmlDoc.load("data.xml");
      }
    }
    function handleXmlDoc()
    {
     alert(xmlDoc);
    }加载xml和ajax有点类似,需要判断状态。
      

  3.   

    回复changke18:还是不行
    onreadystatechange函数,是检查xmlDoc是不是ready,如果不是的话这个方法if里面的语句就被跳过了,
    你说要反复判断,这里貌似没有反复的过程
      

  4.   

    我在IE7下正常显示xml文件内容啊,检查下你的xml文件treeSrc.xml<?xml version="1.0"?>
    <root>
    <item>The Item</item>
    </root><script type="text/javascript"> 
    window.onload=buildTree;function buildTree(){
        var file_path = "treeSrc.xml";
        var xmlDoc;
        try{
            xmlDoc = loadXMLDoc(file_path);
        }
        catch(e){
            alert("对不起," + e.message);
        }    alert(typeof xmlDoc);
        alert(xmlDoc.xml);
    }
    function loadXMLDoc(file_path){
        var xmlDoc;
        var analyzers = ["MSXML2.DOMDocument.5.0",
                         "MSXML2.DOMDocument.4.0",
                         "MSXML2.DOMDocument.3.0",
                         "MSXML2.DOMDocument",
                         "Microsoft.XmlDom"];
        if(window.ActiveXObject){
            for(var i=0; i < analyzers.length; i++){
                try{
                    xmlDoc = new ActiveXObject(analyzers[i]);
                    xmlDoc.async = false;
                    xmlDoc.load(file_path);
                    alert(xmlDoc.xml);
                    return xmlDoc;
                }
                catch(e){
                }
            }
        }
        else if(document.implementation && document.implementation.createDocument){
            xmlDoc = document.implementation.createDocument("","",null);
            xmlDoc.async = false;
            xmlDoc.load(file_path);
            return xmlDoc;
        }
        throw new Error("该浏览器无法执行该程序!");}
    </script> 
      

  5.   

    回复yonghengdexingxing:真的是xml文件的问题,谢谢你,谢谢各位刚忙
      

  6.   

    那你的xml开始有什么问题?导致不能正常load