如何使用JSON解析RSS数据
问题描述:
作为一个noob,我试图解析weather.com RSS feed以显示在我的网站上。下面的代码成功检索数据并将其显示为警报。我的问题是如何进一步解析并解析生成的feed,而不是仅显示它?我们的目标是将部分响应内容嵌入到页面上的HTML中。例如,如果我想输出一个具有当前温度的行的表,那么语法是什么?如何使用JSON解析RSS数据
<script>
function parseRSS(url, callback) {
$.ajax({
url: document.location.protocol + '//ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&callback=?&q=' + encodeURIComponent(url),
dataType: 'json',
success: function(data) {
callback(data.responseData.feed);
}
});
}
parseRSS('http://rss.weather.com/weather/rss/local/USAK0012?cm_ven=LWO&cm_cat=rss&par=LWO_rss',
function(json)
{
alert("Result: " + JSON.stringify(json));
});
</script>
答
如果它对任何人都有帮助,这里是我最终做到的。我使用accuweather.com提供的feed,而不是weather.com,只是因为我碰巧让它首先运行。
1)获得饲料“标题”字段的值,其中包含我需要的当前天气值。提取的特定元件,例如currentTemperature
var weatherFeed = json;
var currentConditions = weatherFeed.entries[0].title;
2):内置使用jQuery HTML和嵌入所提取的天气值
var firstColonIndex = currentConditions.indexOf(":");
var secondColonIndex = currentConditions.indexOf(":", firstColonIndex + 1);
var currentTemperature = currentConditions.substring(secondColonIndex + 1);
3),然后把整个事情一个DIV元件内对我的页码:
<div class="tile-content" id="MyCityWeather">
<script type="text/javascript">
var weatherElement = "#MyCityWeather";
var temperatureElement = $("<h2/>",
{
style: "margin-left: 25px!important; font-size: 46px!important;"
});
temperatureElement.append(currentTemperature);
temperatureElement.appendTo(weatherElement);
</script>
</div>