是不是少了??
private static final String CONTENT_TYPE = "text/xml; charset=GBK";
response.setContentType(CONTENT_TYPE);

解决方案 »

  1.   

    response.setContentType("text/xml;charset=UTF-8");
    我有这句
      

  2.   

    格式问题取responseText,然后用dom加载
    不要用responseXML
      

  3.   

    var oHttpReq = new ActiveXObject("MSXML2.XMLHTTP");result = oHttpReq.responseText;
    var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc.async=false;
    xmlDoc.loadXML(result);
      

  4.   

    后台代码
    response.setContentType("text/xml;charset=gb2312");
    response.setHeader("Cache-Control","no-cache");
    前台代码
    <SCRIPT LANGUAGE="JavaScript">
      var xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      xmlHttp.open("GET", "AJAX", true);
      /* 设置处理服务器的JS函数,函数又 xmlHttp.onreadystatechange来确定 */
      xmlHttp.onreadystatechange=function() {
         if (xmlHttp.readyState==4 && xmlHttp.status==200) {
          //ajax的XML传输的解析。获取解析的数据
           var xml = xmlHttp.responseXML;
          
           //解析标签<stusn>
           //var root1=root.getElementsByTagName("stusn");
           //解析<stusn>的第一个标签的nation属性
           //var name = root1[0].getAttribute("nation");
           var div1 = document.getElementById("ccc");
           var stus = xml.getElementsByTagName("stu");
           for(var i = 0 ; i < stus.length ; i++){
           var dl = document.createElement("dl");
           var dt = document.createElement("dt");
           var dd = document.createElement("dd");
           //在div的最前面添加元素
           div1.insertBefore(dl,div1.firstChild);
           dl.appendChild(dt);
           dl.appendChild(dd);
           //设置元素的值
           dt.innerHTML = "姓名:" + stus[i].getElementsByTagName("name")[0].firstChild.data;
           dd.innerHTML = "年龄:" + stus[i].getElementsByTagName("age")[0].firstChild.data;
           }
          }
      }
     xmlHttp.send();
    </SCRIPT>
      

  5.   

    返回xml时,ajax得请求servlet,用jsp取不到值.