2014-10-30 45 views
0

我使用GoogleFeed API來顯示一個RSS feed爲HTML:如何讓Google Feed API顯示CDATA?

var feedcontainer=document.getElementById("feeddiv") 
var feedurl="MY FEED URL" 
var feedlimit=20 
var rssoutput="" 

function rssfeedsetup(){ 
var feedpointer=new google.feeds.Feed(feedurl) //Google Feed API method 
feedpointer.setResultFormat(google.feeds.Feed.MIXED_FORMAT) 
feedpointer.setNumEntries(feedlimit) //Google Feed API method 
feedpointer.load(displayfeed) //Google Feed API method 
} 

function displayfeed(result){ 
if (!result.error){ 
var thefeeds=result.feed.entries 
for (var i=0; i<thefeeds.length; i++) 
rssoutput+="<a href='" + thefeeds[i].link + "' style='text-decoration:none'>" + "<h1 class='pub'>" + thefeeds[i].title + "</h1>" + "</a>" + new Date(thefeeds[i].publishedDate) + thefeeds[i].content + "<p class='text-small-hilite'><a href='" +thefeeds[i].link + "'>" + "Read full post" + "</a></p>" 
rssoutput+="" 
feedcontainer.innerHTML=rssoutput 
} 
else 
alert("Error fetching feeds!") 
} 

window.onload=function(){ 
rssfeedsetup() 
} 

我想也顯示爲HTML我標記內CDATA元素。我試過.xmlNode.getElementsByTagName但沒有奏效。

<item> 
<title> 
MY TITLE 
</title> 
<link>MY URL</link> 
<comments>MY URL</comments> 
<pubDate>Fri, 17 Oct 2014 19:06:53 +0000</pubDate> 
<dc:creator> 
<![CDATA[ MY AUTHOR ]]> 
</dc:creator> 

是否可以將CDATA「我的作者」中的文本顯示爲HTML?

回答

0

該標籤具有DC的命名空間,所以你可以使用getElementsByTagNameNS方法中的for循環是這樣的:

var creator = thefeeds[i].xmlNode.getElementsByTagNameNS(
       'http://purl.org/dc/elements/1.1/', 'creator')[0].innerHTML; 

但如果你只是想DC的內容:創造者,它可能是一樣的thefeeds[i].authorFeed API's JSON documentation可能會有所幫助。

提示:使用您的browser's developer tools並設置一個斷點裏面的for循環,然後就可以看到哪些對象包含:

enter image description here