2016-03-29 20 views
0

Ich baue eine RSS-Zuführung und es gibt so viele großartige Ressourcen da draußen, aber buchstäblich nicht einer der zieht die Quelle anstelle von AUTHOR. Wenn ich versuche, den Quellcode zu bearbeiten, wird SOURCE als UNDEFINIERT angezeigt. Ich sehe die SOURCE in der .rss-Datei, aber wenn ich das Objekt in der Konsole analysiere, wird das SOURCE-Datenfeld nicht tatsächlich abgerufen.Array zieht nicht alle Daten aus RSS-Feed-Parser

Hier wird der gefundene Code, den ich zu bearbeiten versuchen:

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); 
} 

Hier ist mein .rss xml Baum:

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

Hier ist die Konsole Objekt:

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

Jede Hilfe ist am meisten a abgeschrieben! Danke!

+1

hier ist die eigentliche RSS-Link: http://newsdesk-feeds.moreover.com/feed/a60eeb8d9fcdc35b.rss – Valerie

+0

Object {responseData: null, responseDetails: "Die angegebene Feed-URL ist ungültig", responseStatus: 400} - ich habe diese – Radmation

+0

@RadleyAnaya Wo meinst du das genau? Dieser Code funktioniert wie er ist, ist einfach nicht robust genug. – Valerie

Antwort

0

Sie können das XML-Dokument abrufen und analysieren. Dann kontrollierst du, was du siehst und nicht siehst.

Ich denke, das Problem mit der Verwendung eines Dienstes ist, dass sie wählen, was ausgesetzt ist, und es sieht so aus, als wäre die Quelle nicht einer von ihnen. Ich habe gerade beschlossen, das XML-Dokument zu holen und es selbst zu parsen (Beispiel unten - benötigt PHP). Ich hoffe das hilft dir. ich die Quelle bekam durch das XML-Dokument dann kräuselt es in ein XML-Dokument Drehen des SimpleXMLElement verwenden - dann kann man es ziemlich leicht durchqueren:

<?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 

} 

Hier ist der DOM ist inspiziert. Sie können buchstäblich alles bekommen, was Sie wollen. Es gibt auch Bibliotheken, die das wahrscheinlich für Sie in JSON verwandeln werden. Es wäre auch nicht schwer, es selbst zu tun. Hier

enter image description here

ist die Ausgabe von Quellen:

enter image description here

Verwandte Themen