XMLHTTP
有好几种
不单只是这2种

解决方案 »

  1.   

    unescape(xmlhttp.responseText)就不是乱码了
      

  2.   

    escape和unescape
    都是经常用的
    一个编码的问题
      

  3.   

    使用iframe加载这个文件,然后使用microsoft.xmldom的loadXML来分析xml结构如下        <script type="text/javascript">
    function parseXML()
    {
      ie=!!document.all;
      var innerXML="";
      if(ie)innerXML=document.frames["data"].document.body.innerHTML
      else innerXML=document.getElementById("data").contentWindow.document.body.innerHTML.toString();
      innerXML=innerXML.replace(/&gt;/gi,">").replace(/&lt;/gi,"<");//加载txt文档会把<转换为&lt;只好替换回来
      var dom;
      if(ie)
      {
       dom=new ActiveXObject("microsoft.xmldom");
       dom.loadXML(innerXML);
      }
      else//ff
        dom=new DOMParser().parseFromString(innerXML, "text/xml");
      var items=dom.getElementsByTagName("item");  for(var i=0;i<items.length;i++)alert("time\t=\t"+items[i].getAttribute("time")+"\nname\t=\t"+items[i].getAttribute("name")+"\ntext\t=\t"+items[i].getAttribute("text"))
    }
    </script>
    <iframe src="data.txt" id="data" onload="parseXML()"></iframe>data.txt<item time="2008-06-11 09:57:40" name="ORA-01017: invalid username/password; logon denied" text="!DEMO_USER/[email protected]:1521:SP"/> 
    <item time="2008-06-11 09:57:40" name="ORA-01017: invalid username/password; logon denied" text="!DEMO_USER/[email protected]:1521:SP"/> 
      

  4.   

    是不是纯文本格式嘛?
    是的话,直接Ajax来获取文本内容,
    再在客户端来解析....
      

  5.   

    文件本身是个异常日志文件,由后台程序抛出异常产生的,不是XML文件,也没有根,但是需要在WEB上用XSL显示,后来想到一个办法如下:  var xmlfile = '/files/history/' + id + '/' + 'exception.log';
      var xmlhttp = new ActiveXObject('MSXML2.XMLHTTP');
      xmlhttp.open("get", xmlfile, false);
      xmlhttp.send();
      var content = unescape(xmlhttp.responseText);
      if (content.length>0)
      {
        content = '<?xml version="1.0" encoding="GB2312"?><root>' + content + '</root>';
        var xmldata = new ActiveXObject('MSXML2.DOMDocument');
        xmldata.async = false;
        xmldata.loadXML(content);
        main.innerHTML=xmldata.transformNode(xslexcept);
      } else alert("检测正常,未发现错误!");就是用'MSXML2.XMLHTTP'当成文本下载,然后加上XML头和根,xmldata.loadXML后就可以由XSL处理了多谢大家