2016-03-29 99 views
0

我正在構建一個rss進紙器,並且有那麼多很棒的資源,但從字面上看並不是其中一個拉來源而不是AUTHOR。當我嘗試編輯代碼以拉動SOURCE時,它顯示爲UNDEFINED。我在.rss文件中看到SOURCE,但是當我在控制檯中分析對象時,它實際上並未檢索到SOURCE數據字段。數組不提取所有數據來自rss feed解析器

這裏被發現的代碼我試圖編輯:

function parseRSS(url, container) { 
    $.ajax({ 
    url: 'http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&callback=?&q=' + encodeURIComponent(url), 
    dataType: 'json', 
    success: function(data) { 
     console.log(data.responseData.feed); 
     $(container).html('<h2>'+capitaliseFirstLetter(data.responseData.feed.title)+'</h2>'); 

     $.each(data.responseData.feed.entries, function(key, value){ 
     var thehtml = '<h3><a href="'+value.link+'" target="_blank">'+value.title+'</a></h3><br/>' +value.source ; 
     $(container).append(thehtml); 
     }); 
    } 
    }); 
} 

function capitaliseFirstLetter(string) { 
    return string.charAt(0).toUpperCase() + string.slice(1); 
} 

這裏是我的.rss XML樹:

RSS XML TREE: See the SOURCE node is there like all the rest

這裏是控制檯對象:

console object array showing that SOURCE is not being read by the parser

任何幫助是最ppreciated!謝謝!

+1

這裏是實際的RSS鏈接:http://newsdesk-feeds.moreover.com/feed/a60eeb8d9fcdc35b.rss – Valerie

+0

對象{responseData:null,responseDetails:「指定的提要網址無效」,responseStatus:400} - 我得到了這個 – Radmation

+0

@RadleyAnaya你的意思是什麼?此代碼按原樣工作,但它不夠強大。 – Valerie

回答

0

您可以獲取XML文檔並解析它。然後你控制你所看到並看不到的東西。

我認爲使用服務的問題是,他們選擇暴露的內容,而且它看起來像源不是其中之一。我只是決定讓自己的XML文件和解析它(例如下面 - 需要PHP)。我希望這可以幫助你。 我用捲曲的XML文檔,然後將其轉化爲使用的SimpleXMLElement XML文檔得到了源 - 那麼你可以很容易地遍歷它:

<?php 

function get_data($url) { 
    $ch = curl_init(); 
    $timeout = 5; 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
    $data = curl_exec($ch); 
    curl_close($ch); 
    return $data; 
} 

$sXML = get_data('http://newsdesk-feeds.moreover.com/feed/a60eeb8d9fcdc35b.rss'); 
//$sXML = get_data('http://alanstorm.com/atom'); 

echo $sXML; 
$oXML = new SimpleXMLElement($sXML); 

foreach($oXML->channel->item as $oEntry){ 
    echo "<div style='background: red;'>". $oEntry->source . "</div>"; // your source 

} 

下面是檢查的DOM。你幾乎可以得到你想要的任何東西。還有那裏的圖書館可能會把它變成JSON給你。儘管要麼自己做也不難。

enter image description here

這裏是源的輸出:

enter image description here