function ding(){
   var reqstr;
   var proxyurl="Proxy.asp?Url=";
   reqstr="http://127.0.0.1/lc.xml?sid="+Math.random();
   xmlhttp.open("GET",proxyurl+encodeURIComponent(reqstr),true);
   xmlhttp.onreadystatechange=function(){dingrsp()};
   xmlhttp.send(null);
}
function dingrsp(){
  if(xmlhttp.readyState==4)
  {
    if(xmlhttp.status==200)
    {
      var xmldoc=xmlhttp.responseXML;
      var chlist=xmldoc.getElementsByTagName("channel");
  var kk=chlist.length;
  //channel为xml(rss)文档中的节点元素,ie中kk正确为10,firefox中为0,苦思不得其解,请教各位大侠
alert(kk);   for(var i=0;i<chlist.length;i++)
  {
     var title=chlist[i].firstChild.firstChild.nodeValue;
  }
    }
    else if(xmlhttp.status==404){
     alert("请求网页不存在");
    }
    else
    {
     alert("错误代码:"+xmlhttp.status);
    }
  }}

解决方案 »

  1.   

    注意大小写,再试试
    确保,xmldoc有内容
      

  2.   

    xmldoc.getElementsByTagName("channel"); 
    这个方法ie和ff应该是兼容的
      

  3.   

    先得到主节点呢? 比如 
     var chlist=xmldoc.getElementsByTagName('rss')[0].getElementsByTagName("channel"); 
      

  4.   

    用这个试试xmldoc.getElementsByAll("channel"); 
      

  5.   

    用getElementsByAll也不行,ie和ff都不行,alert不执行
      

  6.   

    回复:
       先得到主节点呢? 比如 
      var chlist=xmldoc.getElementsByTagName('rss')[0].getElementsByTagName("channel"); 使用此方法,ie正常,ff中连alert都不执行了???
      

  7.   

    xmlhttp.responseXML  ---> xmlhttp.responseText
      

  8.   

    var chlist=xmldoc.getElementsByTagName('rss')[0]
    你先看看这个是什么属性,有可能是你页面无意之中定义了rss tag,就我所知,getElementsByTagName在ff,ie,safari都支持的