步骤3: 要使用YQL显示RSS源,我们只需构造正确的YQL查询字符串,该字符串可以获取目标RSS源,可选地对它们进行排序和过滤,然后将结果作为JSON对象返回进行成型进入人类可读的东西。 以下显示了用于以各种方式获取RSS提要的最常见的YQL查询字符串:
select * from rss where url = "rssurl"
//获取1个RSS提要的内容 select * from rss where url in ("rssurl", "rssurl2", etc)
//获取多个RSS提要的内容 select * from rss(0, 5) where url = "rssurl"
//从RSS提要中获取前5个条目 select * from rss where url = "rssurl" | sort(field="pubDate", descending="true")
//按特定字段排序Feed(即:pubDate) 还有就是 YQL控制台 ,你可以用它来输入现场YQL查询,看看被返回了什么,也是 YQL指南 关于构建查询更多信息。
一旦我们收到了所需的RSS提要作为JSON对象,最后一步就是解析并显示它。 以下简单示例显示了QZ.com的前5个RSS条目:
代码:
1
2
3
4
五
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<div id=
"qznews"
></div>
<script>
YUI().use(
'yql'
,
function
(Y){
var
q = Y.YQL(query,
function
(r){
//r now contains the result of the YQL Query as a JSON
var
feedmarkup =
'<p>'
var
feed = r.query.results.item
// get feed as array of entries
for
(
var
i=0; i<feed.length; i++){
feedmarkup +=
'<a href="'
+ feed[i].link +
'">'
feedmarkup += feed[i].title +
'</a><br />'
feedmarkup += feed[i].description +
'</p>'
}
document.getElementById(
'qznews'
).innerHTML = feedmarkup
})
})
</script>
|
演示:
如您所见,YQL查询完成后,该参数 r
将结果包含为JSON对象。 要访问实际的feed,我们引用 r.query.results.item
,它返回一个RSS条目数组。 每个条目的各个组件,例如“标题”,“描述”等,存储在每个数组条目内的相应属性中。 您的浏览器控制台是您检查 r
参数 内容的最佳朋友 ,包括YQL查询中存在错误或订阅源无法加载时。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69933200/viewspace-2651464/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/69933200/viewspace-2651464/