在servlet端生成一个xml文档, 写道response里就可以

解决方案 »

  1.   

    我在服务器端这么写行吗?为什么不对? 
     String tmp="<?xml version=\"1.0\" encoding=\"UTF-8\"?><tree></tree>";
     PrintWriter out=this.res.getWriter();
     out.println(tmp);客户端的脚本:<SCRIPT LANGUAGE="JavaScript">
    <!--
      var xslDoc;
      var xmlhttp = new ActiveXObject("Msxml2.XmlHttp");  //取得xml文本
      try{
      xmlhttp.open("GET","/SQLBuilder/qbuilderservlet?action=79010",false);
      xmlhttp.send();   var doc=xmlhttp.responseXML;
      xmlDoc = new ActiveXObject('MSXML2.DOMDocument');
      xmlDoc.async = false;   xslDoc = new ActiveXObject('MSXML2.DOMDocument');
      xslDoc.async = false;   xmlDoc.loadXML(doc.xml);
      xslDoc.load("admin/applyID.xslt");   xmlDoc.loadXML(xmlDoc.documentElement.transformNode(xslDoc));
      xslDoc.load("admin/tree.xslt");   folderTree.innerHTML = xmlDoc.documentElement.transformNode(xslDoc);
       }
       catch (e) {
         alert(e.description);
       }
      

  2.   

    应该是可以的
    不行就用responseText
      

  3.   

    responseText和responseXML都不行,
    我现在用responseBody了,能读出数据来,但是是一堆乱码,是字符集的问题吗?
      

  4.   

    你现看看responseText的内容是什么
    在xml字符串的前面有没有其他的字符,比如换行符什么的字符集是乱码,可以到一个jsp上转一下
      

  5.   

    客户端:
        var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.4.0");
        xmlhttp.Open("POST", "http://servlet/url", false);
        xmlhttp.Send(xmldoc);
        alert(xmlhttp.responseXML.xml);服务端:
      要设置response的content属性为"text/xml"==============
    给分