XML文档解析(解决方法)

使用jQuery解析天气api的XML文档

jQuery解析xml其实是非常方便的,它将原生的xml文档封装成为了jq代理对象,这样就跟操作dom元素一样简单了。相比较网上的各种js解析xml的方法(许多都是不靠谱的,费时费力去研究,我也遇到过),后来想到强大的jq也应该有方法,与是去尝试了一下,果然可行,下面是代码!(一段解析天气api的xml文档)[代码较丑]

$.post('http://wthrcdn.etouch.cn/WeatherApi?city=中文城市名',function(xmlDoc){

        var $xmlDoc = $(xmlDoc); //封装成代理对象
        var $aqi =$xmlDoc.find("aqi").text(); //直接使用jQuery API 要先引入jQuery类库
        var $pm25 = $xmlDoc.find("pm25").text();
        var $quality = $xmlDoc.find("quality").text();
        var $updatetime = $xmlDoc.find("updatetime").text();
        var $suggest = $xmlDoc.find("suggest").text();
        var $shidu =  $xmlDoc.find("shidu").text();
        <!--空气质量-->

        $(".aqi").text($aqi);
        $(".pm25").text($pm25);
        $(".quality").text($quality);
        $(".updateTime").text($updatetime);
        $(".suggest").text($suggest);
        $(".shidu").text($shidu);

        var $weather = $xmlDoc.find('weather').eq(0);
        var $high_tem = $weather.find("high").text();
        var $low_tem = $weather.find("low").text();
        var $type = $weather.find("type").eq(0).text();


        $(".low-high").text($low_tem+'~'+$high_tem);
        $(".weather-type").text($type);
        var weather=["static/img/weather/0.png","static/img/weather/1.png","static/img/weather/2.png","static/img/weather/8.png","static/img/weather/15.png","static/img/weather/33.png",];if($type=="晴"){$(".weather-today").attr("src",weather[0])}if($type=="阴"){$(".weather-today").attr("src",weather[2])}if($type=="多云"){$(".weather-today").attr("src",weather[1])}if($type=="小雨"||$type=="中到大雨"||$type=="小到中雨"){$(".weather-today").attr("src",weather[3])}if($type=="小雪"||$type=="大雪"||$type=="中雪"){$(".weather-today").attr("src",weather[4])}if($type=="霾"){$(".weather-today").attr("src",weather[5])};




        var $sports = $xmlDoc.find("zhishus").find("zhishu").eq(8);//运动
        var $wear = $xmlDoc.find("zhishus").find("zhishu").eq(2);//穿衣
        var $sick = $xmlDoc.find("zhishus").find("zhishu").eq(3);//感冒
        var $sun = $xmlDoc.find("zhishus").find("zhishu").eq(4);//晾晒
        var $washCar = $xmlDoc.find("zhishus").find("zhishu").eq(7);//洗车
        var $trip = $xmlDoc.find("zhishus").find("zhishu").eq(5);//雨伞


        var $im_sports = $(".im_sport");
        var $im_wear = $(".im_wear");
        var $im_sick = $(".im_sick");
        var $im_sun = $(".im_sun");
        var $im_wash = $(".im_wash");
        var $im_trip = $(".im_trip");




        var ZHISHUAPI = [$sports,$wear,$sick,$sun,$washCar,$trip];
        var ZHISHU = [$im_sports,$im_wear,$im_sick,$im_sun,$im_wash,$im_trip]
        for(var i=0;i<ZHISHUAPI.length;i++){
            var $value = ZHISHUAPI[i].find("value").text();
            var $detail  = ZHISHUAPI[i].find("detail").text();
            ZHISHU[i].find("span").text($value);
            ZHISHU[i].find(".infor").text($detail);


        }
    })
    <!--第一次使用markdown-->
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值