RSS Feed auslesen funktioniert nicht

alex130

Erfahrenes Mitglied
Hi
Ich wollte gerade nen RSS Feed auslesen, doch es kommt immer "Keine Items!".
Hab das Script hier im Forum gefunden.
Kann mir bitte jemand helfen?
Danke
PHP:
<?php

    //$filename = 'http://root.pcmasters.at/rss.xml';
	$filename = 'http://www.tagesschau.de/newsticker.rdf';

    // Feed laden
    if( !$xml = simplexml_load_file($filename) ) {
        die('Fehler beim Einlesen der XML Datei!');
    }

    // Ausgabe Array
    $out = array();
    // auszulesende Datensaetze
    $i = 5;

    // Items vorhanden?
    if( !isset($xml->item) ) {
        die('Keine Items vorhanden!');
    }

    // fetchen der Items
    foreach($xml->item as $item) {
        if( $i-- == 0 ) {
            break;
        }
        $out[] = array(
            'title'         => (string) $item->title,
            'description'   => (string) $item->description,
            'link'          => (string) $item->link,
            // 'date'         => date('d.m.Y', strtotime((string) $item->pubDate))
        );
    }

?>
 
Hmm mach mal bitte.
PHP:
print_r($xml);
Nachdem die Datei geladen wurde.


Edit: Habs gerade selber gemacht. $xml->item giebt es nicht.
Aber $xml->channel->item
Glaube das ist das was du meinst.
 
Zuletzt bearbeitet:
PHP:
<?php
error_reporting(E_ALL);
    //$filename = 'http://root.pcmasters.at/rss.xml';
    $filename = 'http://www.tagesschau.de/newsticker.rdf';

    // Feed laden
    if( !$xml = simplexml_load_file($filename) ) {
        die('Fehler beim Einlesen der XML Datei!');
    }
	
    // Ausgabe Array
    $out = array();
    // auszulesende Datensaetze
    $i = 5;

    // Items vorhanden?
    if( !isset($xml->channel->item) ) {
        die('Keine Items vorhanden!');
    }

    // fetchen der Items
    foreach($xml->channel->item as $item) {
        if( $i-- == 0 ) {
            break;
        }
        $out[] = array(
            'title'         => (string) $item->title,
            'description'   => (string) $item->description,
            'link'          => (string) $item->link,
            // 'date'         => date('d.m.Y', strtotime((string) $item->pubDate))
        );
    }
?> 
<hr/>
<?php
echo '<pre>'.print_r($out, true).'</pre>';
?>

Du musst dir den Feed auch anschauen, bevor du ihn auf Gut Glück mit ITEM ansprichst.
Die Tagesschau hat ihn etwas verschachtelt.
 
Hi
Danke nun funktioniert das :)
Nun hab ich noch eine Frage, ich hab gelesen, dass <pubDate> dieses Format haben muss:
Code:
Thu, 27 Apr 2006
, aber es wird bei mir nicht angezeigt, hab das so im Array deklariert:
PHP:
'pubDate'		=> (string) $item->pubDate,
Und Umlaute werden bei mir auch nicht richtig dargestellt, was muss ich da ändern?
Kann mir bitte jemand helfen?
Danke
 
Zuletzt bearbeitet:
Zurück