经典论坛 » 前台制作与脚本专栏 » 请问js+xml的怎么写,谢谢
中级会员
查看详细资料
TOP
银牌会员
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script type="text/javascript"> var xmlObj; var cityArray = new Array; function GetXML(){ if (window.ActiveXObject){ xmlObj=new window.ActiveXObject("Microsoft.XMLHTTP"); }else if(window.XMLHttpRequest){ xmlObj=new XMLHttpRequest(); } xmlObj.open("GET","xx.xml",true); //xmlObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlObj.setRequestHeader("Content-Type", "text/xml;charset=utf-8"); xmlObj.onreadystatechange = GetReady; xmlObj.send(null) ; } var City = function(cityname,zw,name,number){ this.cityname=cityname; this.zw=zw; this.name=name; this.number=number; this.toString=function(){ return this.cityname+this.zw+this.name+this.number; } } function addCity(city){ if (cityArray.length){ for (var i=0,j=cityArray.length;i<j;i++){ //排序的方向修改这里的大小于就ok了 if (city.number>cityArray[i].number){ cityArray.splice(i,0,city); return; } } } cityArray[cityArray.length]=city; } function GetReady(){ if(xmlObj.readyState==4 && xmlObj.status == 200){ var cityList=xmlObj.responseXML.documentElement.getElementsByTagName("city"); for (var i=0,j=cityList.length;i<j;i++){ var cityname=cityList[i].getAttribute("cityname"); var zw=cityList[i].getAttribute("zw"); var name=cityList[i].getAttribute("name"); var number=parseInt(cityList[i].getAttribute("number")); addCity(new City(cityname,zw,name,number)); } //程序结束,这里只是打印出来显示 var str=""; for (var k=0;k<cityArray.length;k++){ str+=cityArray[k].toString()+"<br />"; } document.getElementById("text").innerHTML=str; } } window.onload=GetXML; </script> </head> <body> <div id="text" style="border:1px solid #666666"></div> 页面其他内容 </body> </html>
心肠大大滴好
荣誉管理团队
专长 C/C++
查看个人网站
原帖由 hoperise 于 2008-6-21 08:30 发表 谢谢这位朋友,请问这段代码我在IE7和firefox为什么不能运行呢,谢谢
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script type="text/javascript"> var xmlObj; function GetXML(){ if (window.ActiveXObject){ xmlObj=new window.ActiveXObject("Microsoft.XMLHTTP"); }else if(window.XMLHttpRequest){ xmlObj=new XMLHttpRequest(); } xmlObj.open("GET","xx.xml",true); //xmlObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlObj.setRequestHeader("Content-Type", "text/xml;charset=utf-8"); xmlObj.onreadystatechange = GetReady; xmlObj.send(null) ; } var City = function(cityname,zw,name,number){ this.cityname=cityname; this.zw=zw; this.name=name; this.number=number; this.toString=function(){ return this.cityname+this.zw+this.name+this.number; } } function GetReady(){ if(xmlObj.readyState==4 && xmlObj.status == 200){ var cityArray = new Array; var cityList=xmlObj.responseXML.documentElement.getElementsByTagName("city"); for (var i=0,j=cityList.length;i<j;i++){ var cityname=cityList[i].getAttribute("cityname"); var zw=cityList[i].getAttribute("zw"); var name=cityList[i].getAttribute("name"); var number=parseInt(cityList[i].getAttribute("number")); cityArray[i] = new City(cityname,zw,name,number); } //这里进行排序,升序为修改sObj.number-tObj.number cityArray.sort(function(tObj,sObj){return sObj.number-tObj.number}); //程序结束,这里只是打印出来显示 var str=""; for (var m=0;m<cityArray.length;m++){ str+=cityArray[m].toString()+"<br />"; } document.getElementById("text").innerHTML=str; } } window.onload=GetXML; </script> </head> <body> <div id="text" style="border:1px solid #666666"></div> 页面其他内容 </body> </html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>数组排序</title> <script type="text/javascript"> var xmlObj; function GetXML(){ if (window.ActiveXObject){ xmlObj = new ActiveXObject("Microsoft.XMLDOM"); } else if (document.implementation && document.implementation.createDocument) { xmlObj = document.implementation.createDocument("","",null); } xmlObj.async=false; //不知道怎么兼容ie、ff的状态码怎么写,所以直接设置为false xmlObj.load("city.xml") GetReady(); } var City = function(cityname,zw,name,number){ this.cityname = cityname; this.zw = zw; this.name = name; this.number = number; this.toString = show; } function show(){return this.cityname+this.zw+this.name+this.number;} function GetReady(){ var cityArray = new Array; var cityList = xmlObj.documentElement.getElementsByTagName("city"); var count = cityList.length; for (var i=0;i<count;i++){ var cityname = cityList[i].getAttribute("cityname"); var zw = cityList[i].getAttribute("zw"); var name = cityList[i].getAttribute("name"); var number = parseInt(cityList[i].getAttribute("number")); cityArray[i] = new City(cityname,zw,name,number); } //这里进行排序,升序为修改sObj.number-tObj.number cityArray.sort(function(tObj,sObj){return sObj.number-tObj.number}); //程序结束,这里只是打印出来显示 var str=""; for (var j=0;j<count;j++){ str+=cityArray[j].toString()+"<br />"; } document.getElementById("text").innerHTML=str; } window.onload=GetXML; </script> </head> <body> <div id="text" style="border:1px solid #666666"></div> 页面其他内容 </body> </html>
请叫我草履虫
初级会员