[英]How to get the description of a news Item from GOOGLE AJAX Feed API
我正在使用腳本來使用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>
如何使用entry
對象獲取描述? 我正在使用Google網址 - http://news.google.com/?output=rss獲取XML格式的RSS Feed。 我想要“描述”部分。 我怎么能得到它
您可以獲取描述,但不能使用JSON格式和entry
對象來執行此操作。 如果您仔細閱讀https://developers.google.com/feed/v1/devguide上的Feed參數,您會看到該description
不是它在入門級別返回的字段 - 僅在Feed級別。
為此,您需要以XML格式請求Feed,然后加載各個節點,包括description
。 這是我用過的相關代碼片段 - 根據需要更改格式等。
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;
}
可以使用content變量檢索HTML描述。 因此你應該有:div.appendChild(document.createTextNode(entry.content));
請注意,這將檢索HTML數據格式。
經過大量挖掘,我發現Google API使用“contentSnippet”而不是描述。 不需要XML格式。
function initialize() {
var feed = new google.feeds.Feed("http://myblog.com/blog/feed/");
feed.setNumEntries(10);
feed.load(function(result) {
if (!result.error) {
$(document).ready(function(){
$('#feed-pull').append('<ul></ul>');
for (var i = 0; i < result.feed.entries.length; i++) {
var entry = result.feed.entries[i];
var desc = entry.contentSnippet;
更改entry.title in:
div.appendChild(document.createTextNode(entry.title));
進入。描述。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.