编程题1 偶的答案

1. 使用XMLHttpRequest读取ajaxcn.org的RSS Feed(http://ajaxcn.org/exec/rss),并用HTML的列表标签(UL/OL/LI)列出获取的的Blog条目。


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>ajax_rss</title>
<script type="text/javascript">

var isIE = false;

function createAjaxObj(){
 var httprequest;
 if (window.XMLHttpRequest){ // if Mozilla, Safari etc
  httprequest=new XMLHttpRequest();
  if (httprequest.overrideMimeType){
   httprequest.overrideMimeType('text/xml');
  }
 }
 else if (window.ActiveXObject){ // if IE
  try {
   httprequest=new ActiveXObject("Microsoft.XMLHTTP");
  } catch (e){
  }
 }
 return httprequest;
}

function ajaxshowme(){

 ajaxinstance=createAjaxObj();

 showStatus('正在获取信息……');
 ajaxinstance.open("GET","http://ajaxcn.org/exec/rss", true);
 ajaxinstance.onreadystatechange=alertcontents;
 ajaxinstance.send(null);
}

function alertcontents(){
 if (ajaxinstance.readyState == 4){ //if request of file completed
  var node = ajaxinstance.responseXML.documentElement;
  // Get Channel information
  var channels = node.getElementsByTagName('channel');
  var titles;
  var links;
  var result='';
  var chanel;
  result += '<ul>';
  
  for(l=0; l<channels.length; l++){
   channel = channels.item(0);
   titles = channel.getElementsByTagName('title');
   links = channel.getElementsByTagName('link');

   title = titles.item(0).firstChild.data;
   link1 = links.item(0).firstChild.data;
   result += addItem1(title, link1);
   result += '<ol>';
   for(i=1;i<titles.length;i++){

    title = titles.item(i).firstChild.data;
    link1 = links.item(i).firstChild.data;
    result += addItem1(title, link1);
   }
   result += '</ol>';
  }
  result += '</ul>';
  document.getElementById('rssR').innerHTML = result;
  showStatus('内容获取完成。');
 }
}

function addItem1(title, link1){
 var rslt='';
 rslt += '<li>';
 rslt += '<a href=/"'+link1+'/" target=/"_blank/" >'+title+'</a>';
 rslt += '</li>';
 return rslt;
}

function showStatus(s){
 document.getElementById('status').innerText = s;
}
</script>
</head>
<body οnlοad="javascript:ajaxshowme();">
<p> <a href="javascript:ajaxshowme()">Contents of <strong>ajax.org</strong> RSS feed (点击更新)</a></p>
<div id="status" ></div>
<div id="rssR" ></div>
</body>
</html>


有兴趣的同学,自己手工制一个html文件吧。

自我感觉,刚刚算是达到了答题的标准。

只能在ie6里显示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值