1.responseXML 小写开头 xmlHttp.responseXML;
2. 如果servlet只有输出这些内容的话,少了根元素。

解决方案 »

  1.   

    我改成了小写,而且servlet里也改成了这样:
    out.println("<?xml   version=\"1.0\"   encoding=\"gb2312\"?>");    out.println("<xml>"); out.print("<text>");
    out.println(sbuf);
    out.println("</text>");
    out.print("<id>");
    out.print(SaveDocs.getId());
    out.println("</id>");
    out.print("</xml>");
    但是还是不行,调试发现xmlDoc总是null,不知道为什么没有得到。
    整了一下午了,还是没搞定
      

  2.   

    servlet里httpresponse对象 设置输出的ContentType为text/xml了吗?
      

  3.   

    设置成了:response.setContentType("text/xml");现在通过var xmlDoc=xmlHttp.ResponseXML;
    alert可以得到一个[object]但是 var textNode=xmlDoc.getElementsByTagName("id")[0];
         alert(textNode.firstChild.nodeValue);
    就有问题,不知道为什么??
      

  4.   

    我两个都用,都不行,
    我用firebug调试了下,显示下面的错误。
    nodevalue:
    "XML解析错误:xml处理指令不在外部实体的开始部分\n位置:http://localhost/CoDocs/LoadDocs\n行:2,列:1"
      

  5.   

    out.println("<?xml version=\"1.0\" encoding=\"gb2312\"?>");之前没有输出什么东西吧
    干脆把这句去掉试试看
    IE下试试看
    var textNode=xmlDoc.selectSingleNode("//id");
    alert(textNode.text);
      

  6.   

    去掉也不行,加上你刚才那个还是不行,
    不管是在ff还是在ie下都不行,真是麻烦你了。从调试上看,好像是得到xml的时候就出错了
      

  7.   

    alert(xmlHttp.responseText)看下到底得到了什么文本?
      

  8.   

    看到的就是xml的文本,看到的是对的
      

  9.   

    那试试看var xml = xmlHttp.responseText;用loadXML(xml)的方式创建Document对象,这样就可以知道load后到底错在哪里了。
      

  10.   

    var xmlDoc=xmlHttp.ResponseXML;
    没这么写的啊
    function getXMLDOM(){
    if(Browser.isIE){
            var xmldomversions = ['MSXML2.DOMDocument.5.0', 'MSXML2.DOMDocument.4.0', 'MSXML2.DOMDocument.3.0', 'MSXML2.DOMDocument', 'Microsoft.XMLDOM'];
            for(var i=0;i<xmldomversions.length;i++)
                try{
                    return new ActiveXObject(xmldomversions[i]);
                }catch(e){
                }
            return document.createElement("XML");
        }else if (Browser.isMozilla)
        {
            return document.implementation.createDocument('', '', null);
        }
        return null;
    }
      

  11.   

    解决了,下面这样:
          var msg = xmlHttp.responseText;
          alert(msg);
          if (typeof DOMParser != "undefined") { 
          // Mozilla, Firefox, and related browsers 
          xmlDoc = (new DOMParser( )).parseFromString(msg, "application/xml"); 
          } 
         
          else if (typeof ActiveXObject != "undefined") { 
          // Internet Explorer. 
          xmlDoc = new ActiveXObject("MSXML2.DOMDocument"); 
          // Create an empty document 
          xmlDoc.loadXML(msg); 
          }