用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>
from:
http://www.chinahtml.com/programming/8/2006/11624391147871.shtml