wucf2004的博客

asp.net和ajax
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Ajax读取XML格式的经典例子

Posted on 2006-12-01 15:56  wucf2004  阅读(754)  评论(0编辑  收藏  举报

 

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

以下是引用片段:

<!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>