//GetRss.htm文件源码
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Ajax 解析 XML 示例</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<script language="javascript">
var bloglist=new Array();
var xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");//定义一个自动化对象
function startload(){
xmlHttp.open("GET","http://feeds.feedsky.com/csdn.net/jpl12",true);
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readystate==4 && xmlHttp.status==200){
/**
* 背景资料7:
* 1、响应后状态 readyState:
* 只有当一个完整的服务器响应已经收到了,函数才可以处理该响应。XMLHttpRequest
* 提供了readyState属性来对服务器响应进行判断。
* readyState的取值如下:
* 0 (未初始化)
* 1 (正在装载)
* 2 (装载完毕)
* 3 (交互中)
* 4 (完成)
* 所以只有当readyState=4时,一个完整的服务器响应已经收到了,函数才可以处理该响应。
* if (xmlHttp.readyState == 4)
* {
* // 收到完整的服务器响应
* }
**/
var xmldom=xmlHttp.responseXML;//创建基于XML的DOM
var channel=xmldom.documentElement.childNodes.item(0);//获取节点的值。
var itemlist=channel.childNodes;//将XML中所有子结点取出(也就是除根节点以外的),赋给itemlist。
for(var i=0;i<itemlist.length;i++){//使用循环将每个子结点中的内容取出,赋给相应的Div,以便显示。
var node=itemlist.item(i);//取出其中一个子结点
if(node.tagName=="title"){//"title","description","generator","item",均为XML中的元素
blogtitle.innerHTML=node.text;
}
if(node.tagName=="description"){
blogdescription.innerHTML=node.text;
}
if(node.tagName=="generator"){
bloggenerator.innerHTML=node.text;
}
if(node.tagName=="item"){
bloglist[bloglist.length]=node.childNodes;
}
}
showitem(bloglist[0]);
}
}
xmlHttp.send(null);
/*备注
xmlHttp.send( );:此方法的同步或异步方式取决于open()方法中的bAsync参数,
如果bAsync == False,此方法将会等待请求完成或者超时时才会返回,
如果bAsync == True,此方法将立即返回。
如果发送的数据为BSTR,则回应被编码为utf-8, 必须在适当位置设置一个包含charset的文档类型头。
如果发送的数据为XML DOM object,则回应将被编码为在xml文档中声明的编码,如果在xml文档中没有声明编码,则使用默认的UTF-8。*/
}
function showitem(itemlist){
for(var i=0;i<itemlist.length;i++){
var node=itemlist.item(i);
if(node.tagName=="title"){
itemtitle.innerHTML=node.text;
}
if(node.tagName=="link"){
itemlink.href=node.text;
}
if(node.tagName=="description"){
description.innerHTML=node.text;
}
if(node.tagName=="author"){
author.innerHTML=node.text;
}
if(node.tagName=="pubDate"){
pubDate.innerHTML=node.text;
}
}
}
</script>
<body οnlοad="startload()">
<a id="bloglink" href="#"><div id="blogtitle"></div></a>
<br />
<div id="bloggenerator"></div>
<br />
<div id="blogdescription"></div>
<br />
<a id="itemlink" href="#"><div id="itemtitle"></div></a>
<br />
<div id="author"></div>
<br />
<div id="description"></div>
<br />
<div id="pubDate" align="right"></div>
</body>