var xmlDoc  = new ActiveXObject("Microsoft.XMLDOM"); 
应该放到loadXML函数里面第一行里去:function loadXML(xmlFile){
var xmlDoc  = new ActiveXObject("Microsoft.XMLDOM");  xmlDoc .async = "false";
  xmlDoc.onreadystatechange=verify; 
xmlDoc.loadXML(xmlFile);
xmlObj = xmlDoc.documentElement;
alert(xmlObj.xml);
}

解决方案 »

  1.   

    因为你在调用loadXML("XFunTree.xml");时它先跳过了var xmlDoc  = new ActiveXObject("Microsoft.XMLDOM"); 执行loadXML函数里的语句,故你在loadXML里用到xmlDoc时没有定义他。
      

  2.   

    to:ebjcreate()
    我把var xmlDoc  = new ActiveXObject("Microsoft.XMLDOM"); 按你说的放进去,就出现下面的错误
    Error Code:
      -1072896682
    Error Reason:
      文档的顶层无效。 
    Error LinePos
      undefined
    Error srcText
      XFunTree.xml
    Error url
      
    Error FilePos
      undefined
    Error Line:
      1
    下面是台XML:
    <?xml version="1.0" encoding="GB2312" ?>
    <KM>
    <KM_Function>
    <ChiNode>0</ChiNode>
    <ParentNode>-1</ParentNode>
    <Name>ESQUEL KM Portal</Name>
    <Url>index.jsp</Url>
    <Title>返回首页</Title>
    <Target>_top</Target>
    <Icon></Icon>
    <IconOpen></IconOpen>
    <Open></Open>
    </KM_Function>
    </KM>
      

  3.   

    顺序问题:
    那就应该把
    loadXML("XFunTree.xml");放到
    var xmlDoc  = new ActiveXObject("Microsoft.XMLDOM"); 
    的后面,这样不用把他写到里面去了。
      

  4.   

    你的xmlDoc是全局变量,放到里面就变成了局部变量,在function verify()就变成了undefined的了。