Ajax對XML信息的接收和處理

  • 2019 年 12 月 23 日
  • 筆記

Ajax負責請求xml和接收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)實現對各個接口數據的處理。

document對象和普通元素對象都可以調用getElementsByTagName()方法。

函數執行操作

<!DOCTYPE html>  <html lang="en">  <head>      <meta charset="UTF-8">      <title>利用ajax+javaScript實現對xml的接受和處理</title>      <script type="text/javascript">          function f1(){              //ajax請求xml信息回來              //javascript的dom技術處理xml              //document xmldocument              var xhr = new XMLHttpRequest();              xhr.onreadystatechange = function(){                  if(xhr.readyState == 4 ){                      //[object XMLDocument] 其實是xml根結點的父節點對象                      //alert(xhr.responseXML);                      var xmldom = xhr.responseXML;                        //console.log(xmldom.firstChild);<weather>                      var citys = xmldom.getElementsByTagName('city');                        //citys[1] //第二個city的元素節點對象                      /*for(var k in citysp[1]){//k代表元素節點的成員名稱                          //有輸出其中一個成員方法:getElementsByTagName                          //結論:document對象 和 普通元素都可以調用getElementdByTagName函數                          console.log(k);                      }*/                      var str ="";                      for(var i=0; i<citys.length; i++){                          var nm = 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;                          str += "城市:" +nm+ "--溫度:"+temp+"--風向:"+wind+"<br/>";                      }                      document.getElementById('result').innerHTML =str;                  }              }              xhr.open('get','./test01.xml');              xhr.send(null);          }      </script>  </head>  <body>      <h2>利用ajax+javaScript實現對xml的接受和處理</h2>      <input type="button" value="觸發" onclick="f1()">      <div id="result"></div>  </body>  </html>

XML文件數據

<?xml version="1.0" encoding="utf-8" ?>  <weather>      <city>          <name>北京</name>          <temp>23-31度</temp>          <wind>北風</wind>      </city>      <city>          <name>上海</name>          <temp>23-31度</temp>          <wind>東風</wind>      </city>      <city>          <name>廣州</name>          <temp>28-31度</temp>          <wind>南風</wind>      </city>      <city>          <name>深圳</name>          <temp>29-31度</temp>          <wind>東南風</wind>      </city>  </weather>

本文鏈接:https://www.debuginn.cn/403.html

本文採用CC BY-NC-SA 3.0 Unported協議進行許可,轉載請保留此文章鏈接