溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Ajax中如何接收和處理xml信息

發(fā)布時(shí)間:2021-06-11 14:09:18 來(lái)源:億速云 閱讀:170 作者:Leah 欄目:web開(kāi)發(fā)

本篇文章為大家展示了Ajax中如何接收和處理xml信息,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

Ajax負(fù)責(zé)請(qǐng)求和接收xml信息,DOM負(fù)責(zé)處理xml信息。

DOM:

php中,DOM是php 與 xml(html)之間溝通的橋梁
JavaScript中,DOM是JavaScript 與 html(xml)之間溝通的橋梁

Ajax中如何接收和處理xml信息

xml需要從服務(wù)器端返回到客戶端被JavaScript處理
Ajax負(fù)責(zé)請(qǐng)求xml,DOM(JavaScript)負(fù)責(zé)處理xml信息
Ajax+JavaScript實(shí)現(xiàn)對(duì)xml的接收處理,可以方便我們后期實(shí)現(xiàn)一個(gè)靜態(tài)網(wǎng)站(html+css+JavaScript)實(shí)現(xiàn)對(duì)各個(gè)接口數(shù)據(jù)的處理。

自定義的xml文件

09.xml

<?xml version="1.0" encoding="UTF-8"?>
<weather>
  <city>
    <name>北京</name>
    <temp>23-31度</temp>
    <wind>東風(fēng)</wind>
  </city>
  <city>
    <name>上海</name>
    <temp>25-32度</temp>
    <wind>東南風(fēng)</wind>
  </city>
  <city>
    <name>深圳</name>
    <temp>29-35度</temp>
    <wind>西南風(fēng)</wind>
  </city>
</weather>

Ajax對(duì)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請(qǐng)求xml信息
    //JavaScript的dom技術(shù)處理xml
    var xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function(){
      if(xhr.readyState == 4){
        //alert(xhr.responseXML);//object Document 其是xml根節(jié)點(diǎn)的父節(jié)點(diǎn)對(duì)象
        var xmldom = xhr.responseXML;
        //console.log(xmldom.firstChild);//<weather>
        var citys = xmldom.getElementsByTagName('city');
        //console.log(citys);// HTMLCollection[city, city, city]
        /*
        citys[1];//第二個(gè)city的元素節(jié)點(diǎn)對(duì)象
        for(var k in citys[1]){//k代表元素節(jié)點(diǎn)對(duì)象的成員名稱
          console.log(k);
          //有輸出這樣一個(gè)成員方法:getElementsByTagName
          //結(jié)論:document對(duì)象和普通元素對(duì)象都有g(shù)etElementsByTagName()方法
        }
        */
        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 + "--風(fēng)向:" + wind + "<br />";
        }
        document.getElementById('result').innerHTML = s;
      }
    }
    xhr.open('get','./09.xml');
    xhr.send(null);
  }
</script>
</head>
<body>
  <h3>利用Ajax+JavaScript實(shí)現(xiàn)對(duì)xml的接收和處理</h3>
  <input type="button" value="觸發(fā)" onclick="f1()" />
  <div id="result"></div>
</body>
</html>

運(yùn)行結(jié)果

Ajax中如何接收和處理xml信息

上述內(nèi)容就是Ajax中如何接收和處理xml信息,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI