blog.TangGaowei.com

用Ajax读取XML格式的数据

作者 Neot 写于 2006-05-27  | 1,905 次浏览 | 分类 » 软件开发 |

  用Ajax读取XML格式的数据,只需要读取XMLHttpRequest对象返回的responseXML属性即可。代码如下:

1、Client - helloworld.htm

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”
>
<html>
<head>
<title>Ajax Hello World</title>
<script type=”text/javascript”>
var xmlHttp;

function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp
= new ActiveXObject(Microsoft.XMLHTTP);
}
else if(window.XMLHttpRequest){
xmlHttp
= new XMLHttpRequest();
}
}

function startRequest(){
createXMLHttpRequest();
try{
xmlHttp.onreadystatechange
= handleStateChange;
xmlHttp.open(
GET, data.xml, true);
xmlHttp.send(
null);
}
catch(exception){
alert(
您要访问的资源不存在!);
}
}

function handleStateChange(){
if(xmlHttp.readyState == 4){
if (xmlHttp.status == 200 || xmlHttp.status == 0){
// 取得XML的DOM对象
var xmlDOM = xmlHttp.responseXML;
// 取得XML文档的根
var root = xmlDOM.documentElement;
try
{
// 取得<info>结果
var info = root.getElementsByTagName(’info’);
// 显示返回结果
alert(responseXML’s value: + info[0].firstChild.data);
}
catch(exception)
{

}
}
}
}
</script>
</head>
<body>
<div>
<input type=”button” value=”return ajax responseXML’s value”
onclick
=”startRequest();” />
</div>
</body>
</html>
2、Server - data.xml

<?xml version=”1.0″ encoding=”GB2312″ ?>
<root>
<info>hello world!</info>
</root>

附源码:responseXML.rar

Update1:
在 IE 读取XML格式数据时,代码必需在服务器才能运行,本地可能无权访问返回的XML对象。

[ 标签: ajax ]
[ 固定链接:http://blog.tanggaowei.com/2006/05/ajaxxml.html ]

发表评论


点击图片可以听验证码

订阅

 

手机访问

http://blog.tanggaowei.com/wap/

Google