我正在使用脚本来使用Google AJAX Feed API加载来自不同来源的新闻.如何获得条目的描述?以下是一个hello world程序:
<html>
<head>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("feeds", "1");
function initialize() {
var feed = new google.feeds.Feed("http://news.google.com/?output=rss");
feed.load(function(result) {
if (!result.error) {
var container = document.getElementById("feed");
for (var i = 0; i < result.feed.entries.length; i++) {
var entry = result.feed.entries[i];
var div = document.createElement("div");
div.appendChild(document.createTextNode(entry.title));
container.appendChild(div);
}
}
});
}
google.setOnLoadCallback(initialize);
</script>
</head>
<body>
<div id="feed"></div>
</body>
</html>
如何使用入口对象获取描述?我使用谷歌URL – http://news.google.com/?output=rss用于XML格式的RSS源.我想要“描述”部分.我怎么能得到它
解决方法:
您可以获取描述,但不能使用JSON格式和条目对象来执行此操作.如果您仔细阅读https://developers.google.com/feed/v1/devguide处的Feed参数,您会看到该描述不是它在入门级返回的字段 – 只是在Feed级别.
为此,您需要以XML格式请求Feed,然后加载各个节点,包括说明.这是我用过的相关代码片段 – 根据需要更改格式等.
function initialize() {
var feed = new google.feeds.Feed("http://myblog.com/blog/feed/");
feed.setResultFormat(google.feeds.Feed.XML_FORMAT);
feed.load(function(result) {
if (!result.error) {
var items = result.xmlDocument.getElementsByTagName('item');
item = items[0];
//build each element
var title = document.createElement("h4");
title.innerHTML = item.getElementsByTagName('title')[0].firstChild.nodeValue;
var content = document.createElement("p");
content.innerHTML = item.getElementsByTagName('description')[0].firstChild.nodeValue;
href = item.getElementsByTagName('link')[0].firstChild.nodeValue;
}