ajax操作XML

前端之家收集整理的这篇文章主要介绍了ajax操作XML前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

注意html引用xml的路径加“”引号

注意getElementsByTagName 里面参数也加引号

html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <Meta http-equiv="content-type" content="text/xml;charset=gb2312">
    <title>Title</title>
    <script language="JavaScript">
        var xmlhttp;
        function createxmlrequest(){
            if(window.XMLHttpRequest){
                xmlhttp=new XMLHttpRequest();
            }
            else
                xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        function getxml(xmlUrl){
            var url="/ajax/chap103.xml";
            createxmlrequest();
            xmlhttp.onreadystatechange=HandleStateChange;
            xmlhttp.open("GET",url,true);
            xmlhttp.send(null);
        }
        function HandleStateChange(){
            if(xmlhttp.readyState==4&&xmlhttp.status==200){
                drawtable(xmlhttp.responseXML);
                return true;
            }
        }
        function drawtable(myxml){
            var objstudents=myxml.getElementsByTagName("student");
            var objstudent="",stuid="",stuname="",stuchinese="",stumaths="",stuenglish="";
            for(var i=0;i<objstudents.length;i++){
                objstudent=objstudents[i];
                stuid=objstudent.getElementsByTagName("id")[0].firstChild.nodeValue;
                stuname = objstudent.getElementsByTagName("name")[0].firstChild.nodeValue;
                stuchinese = objstudent.getElementsByTagName("chinese")[0].firstChild.nodeValue;
                stumaths = objstudent.getElementsByTagName("math")[0].firstChild.nodeValue;
                stuenglish = objstudent.getElementsByTagName("english")[0].firstChild.nodeValue;
                addrow(stuid,stuname,stuchinese,stumaths,stuenglish);
            }
        }
        function addrow(stuid,stuenglish){
            var objtable=document.getElementById("score");
            var objrow=objtable.insertRow(objtable.rows.length);
            var stuinfo=new Array();
            stuinfo[0]=document.createTextNode(stuid);
            stuinfo[1]=document.createTextNode(stuname);
            stuinfo[2]=document.createTextNode(stuchinese);
            stuinfo[3]=document.createTextNode(stumaths);
            stuinfo[4]=document.createTextNode(stuenglish);
            for(var i=0;i<stuinfo.length;i++){
                var objcol=objrow.insertCell(i);
                objcol.appendChild(stuinfo[i]);
            }
        }

    </script>
</head>
<body>
<form>
    <p>
        <input type="button" id="btn" onclick="getxml();">
    </p>
    <p>
    <table id="score">
        <tr>
            <th>id</th>
            <th>name</th>
            <th>chinese</th>
            <th>math</th>
            <th>english</th>
        </tr>
    </table>
    </p>
</form>
</body>
</html>

xml
<?xml version="1.0" encoding="gb2312" ?>
<list>
    <caption>scorelist</caption>
    <student>
        <id>001</id>
        <name>MissZhou</name>
        <chinese>99</chinese>
        <math>99</math>
        <english>99</english>
    </student>
</list>

猜你在找的Ajax相关文章