javascript/Jquery
기상청 XML 파싱
top2blue
2015. 7. 15. 15:18
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" /> <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script> <script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script> <script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> <script type="text/javascript" src="./js/jquery.tmpl.min.js"></script> <!--크로스 도메인 처리 위해 포함 --> <script type="text/javascript" src="js/jquery.xdomainajax.js"></script> <title>기상청 정보 파싱</title> <script type="text/javascript"> <!-- $(function(){ $.ajax( { type:'GET', url: 'http://www.kma.go.kr/XML/weather/sfc_web_map.xml', dataType : 'xml', success: function(result) { callback(result); }, error: function(result) { alert("error !" + result); } } ) }); function callback(result){ var xml = result.responseText; xmlDoc = $.parseXML( xml ); // XML파싱 $xml = $(xmlDoc); // 객체 생성 // 날짜 얻기 $date = $xml.find("weather"); // weather 태그 찾기 var yy = $date.attr("year"); // 속성읽기 var mm = $date.attr("month"); var dd = $date.attr("day"); var hh = $date.attr("hour"); $("#lv").append("<li data-role='list-divider' data-theme='c'>"+yy + "년 " + mm + "월 " + dd + "일 " + hh + "시</li>"); $("#lv").listview('refresh'); var json = []; $local = $xml.find( "local" ); $local.each(function(index){ var desc = $(this).attr("desc"); if(desc=="-") desc=""; var desc = desc; var ta = $(this).attr("ta"); var data = $(this).text(); json.push({"desc":desc,"ta":ta,"data":data}); }); $("#Template").tmpl(json).appendTo("#lv"); $("#lv").listview('refresh'); } //--> </script> <script id="Template" type="text/x-jquery-tmpl"> <li> ${data} (현재온도 : ${ta} ${desc})</li> </script> </head> <body> <div data-role="page"> <div data-role="header"> <h1>기상청 정보 - 전국날씨</h1> </div><!-- /header --> <div role="main" class="ui-content"> <ul data-role="listview" id="lv"> </ul> </div><!-- /content --> <div data-role="footer"> <h4>Copyright hankyong.com</h4> </div><!-- /footer --> </div><!-- /page --> </body> </html> | cs |