Ajax中如何接收和处理xml信息
短信预约 -IT技能 免费直播动态提醒
本篇文章为大家展示了Ajax中如何接收和处理xml信息,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
Ajax负责请求和接收xml信息,DOM负责处理xml信息。
DOM:
php中,DOM是php 与 xml(html)之间沟通的桥梁
JavaScript中,DOM是JavaScript 与 html(xml)之间沟通的桥梁
xml需要从服务器端返回到客户端被JavaScript处理
Ajax负责请求xml,DOM(JavaScript)负责处理xml信息
Ajax+JavaScript实现对xml的接收处理,可以方便我们后期实现一个静态网站(html+css+JavaScript)实现对各个接口数据的处理。
自定义的xml文件
09.xml
<?xml version="1.0" encoding="UTF-8"?><weather> <city> <name>北京</name> <temp>23-31度</temp> <wind>东风</wind> </city> <city> <name>上海</name> <temp>25-32度</temp> <wind>东南风</wind> </city> <city> <name>深圳</name> <temp>29-35度</temp> <wind>西南风</wind> </city></weather>
Ajax对xml信息的接收和处理处理代码
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title></title><script type="text/javascript"> function f1(){ //ajax请求xml信息 //JavaScript的dom技术处理xml var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function(){ if(xhr.readyState == 4){ //alert(xhr.responseXML);//object Document 其是xml根节点的父节点对象 var xmldom = xhr.responseXML; //console.log(xmldom.firstChild);//<weather> var citys = xmldom.getElementsByTagName('city'); //console.log(citys);// HTMLCollection[city, city, city] var s = ""; for(var i=0; i<citys.length; i++){ var name = citys[i].getElementsByTagName('name')[0].firstChild.nodeValue; var temp = citys[i].getElementsByTagName('temp')[0].firstChild.nodeValue; var wind = citys[i].getElementsByTagName('wind')[0].firstChild.nodeValue; s += "城市:" + name + "--温度:" + temp + "--风向:" + wind + "<br />"; } document.getElementById('result').innerHTML = s; } } xhr.open('get','./09.xml'); xhr.send(null); }</script></head><body> <h3>利用Ajax+JavaScript实现对xml的接收和处理</h3> <input type="button" value="触发" onclick="f1()" /> <div id="result"></div></body></html>
运行结果
上述内容就是Ajax中如何接收和处理xml信息,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网行业资讯频道。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341