程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> html5-關於jQuery解析XML的問題

html5-關於jQuery解析XML的問題

編輯:編程綜合問答
關於jQuery解析XML的問題
 $.ajax({
         url: "http://xml.weather.yahoo.com/forecastrss?p=CHXX0008&u=f",
         dataType: 'xml',
         type: 'GET',
         timeout: 2000,
         error: function(xml){
            alert("加載XML文件出錯!");
         },
         success: function(xml){
                 $(xml).find("yweather:location").each(function(){
                     $("#show2").text(
                     $(this).attr("city")
                     );
                 });
         }
    });

對雅虎天氣API返回的XML格式解析

感覺問題是這邊的
 $("#show2").text(
                 $(this).attr("city")
                 );

如果直接輸出  <title>Yahoo! Weather - Beijing, CH</title>  裡面的可以
但是 <yweather:location city="Beijing" region="" country="CH"/>  輸出屬性“city”就不行

想問一下是什麼問題,大神求指導,小白一枚

最佳回答:


find() 方法獲得當前元素集合中每個元素的後代,通過選擇器、jQuery 對象或元素來篩選。
你返回的XML沒有子節點,所以find查到的是空集合;
此外返回節點yweather:location中有jQuery的選擇器的保留字符":",如果你的xml數據的有子節點,則需要對冒號轉義。示例代碼:

  var xml = '<t><yweather:location city="Beijing" region="" country="CH"/></t>';
  var list = $(xml).find("yweather\\:location ");
  alert("list length:"+list.length+","+$(list[0]).attr("city"));
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved