用Ajax读取XML格式的数据

来源:互联网 发布:激光表面淬火知乎 编辑:程序博客网 时间:2024/06/10 03:13
 
用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>

原创粉丝点击