Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
RSS Feed parsen.... [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
RSS Feed parsen....


 
Grabber66
02-09-2009, 21:44 
 
Hallo zusammen,

ich habe folgendes Problem, ich möchte auf einer Site nen RSS Feed anzeigen lassen. Ich hab schon etliche Anleitungen gefunden die das was sie machen
sollen auch tun, nämlich den xml-file parsen und wieder ausgeben.

Doch nun habe ich einen Feed wo ich keine xml-Datei finde. Dies ist z.B.:

Neue Gerichtsurteile - Aktuelle Urteile (http://www.mahnerfolg.de/urteile/index.php/feed/)

Gibt es dafür auch eine Lösung ?

THX

 
AmicaNoctis
02-09-2009, 21:49 
 
Hallo,

warum soll das keine XML Datei sein? Es hat ne XML Deklaration und ist well-formed. Das sind hinreichende Kriterien für ein XML-Dokument.

Bitte konkretisier mal dein Problem.

Gruß,

Anja

 
PHP-Desaster
02-09-2009, 22:49 
 
Die verlinkte Uri verweist doch auf einen Feed...

 
AmicaNoctis
03-09-2009, 01:48 
 
Sogar hinter den URLs, die im Feed angegeben sind, verbirgt sich (stichprobenartig getestet) valides XHTML. Wenn du also diese Inhalte meintest, sind selbst das XML-Dokumente, die du prima parsen kannst. Abrufen kannst du direkt mit DOMDocument->load() (http://de.php.net/manual/de/domdocument.load.php#91384) oder aber über file_get_contents (http://de.php.net/manual/de/function.file-get-contents.php) oder cURL (http://de.php.net/manual/de/book.curl.php).

Jetzt solltest du alles haben, was du brauchen könntest. ;)

Gruß,

Anja

 
Grabber66
03-09-2009, 09:22 
 
Dann werd ich mal etwas genauer. Dies ist mein gefundener Code:


<?php
define('MAGPIE_CACHE_DIR', 'cache');
define('MAGPIE_CACHE_AGE', '600');
require_once('rss_fetch.inc');
$url = 'http://www.tagesschau.de/newsticker.rdf';

if ( $url ) {
$num_items = 10;
$rss = fetch_rss( $url );
$items = array_slice($rss->items, 0,$num_items);
echo $rss->channel['title'];}

echo "<ul id='feed'>";
foreach ($items as $item) {
$href = $item['link'];
$title = $item['title'];
echo "<li><a href=$href target='_blank'>$title</a></li>";}
echo "</ul>";
?>


Dort muss ja die url geändert werden.
Doch ich habe blos:
h++p://xxx.mahnerfolg.de/urteile/index.php/feed/

Und damit klappt es logischerweise nicht. Es fehlt mir wie im Beispiel die xml-Datei.

Wie kann ich die denn herausfinden ?

 
AmicaNoctis
03-09-2009, 09:54 
 
Und wo genau soll diese XML-Datei fehlen? Kannst du bitte mal schildern, an welcher Stelle du welche Ausgabe/Fehlermeldung bekommst und was du stattdessen erwartest?

Der Code den du postest ist entweder nicht der relevante Teil oder du hast das Problem immer noch nicht hinreichend geschildert.

Dann kannst du in Zeile 17 deines Codes mal den Wert des href-Attributs in Anführungszeichen setzen.

welches ist denn "im Beispiel die XML Datei"? Die hier: newsticker.rdf? Die ist genau so sehr XML-Datei wie index.php/feed/.

Im Gegensatz zum lokalen Dateisystem müssen Pfade im WWW nicht immer mit einem Dateinamen enden. Die Startseite von Example Web Page (http://example.com/) endet auch nicht auf .html und trotzdem kommt eine HTML-Seite, wenn du das aufrufst. Ist es dieses Verständnisproblem, worum es dir geht?

Anja

 
unset
03-09-2009, 09:58 
 
Manche Anbieter liefern ihre Feeds auch einfach nicht aus, falls kein bekannter (Desktop-)User-Agent mitgeleifert wird. Aber ohne dass du uns sagst, was genau für Fehler auftreten, ist das auch nur im Nebel rumgestocher.

 
AmicaNoctis
03-09-2009, 11:47 
 
Manche Anbieter liefern ihre Feeds auch einfach nicht aus, falls kein bekannter (Desktop-)User-Agent mitgeleifert wird.

Daran kann es nicht liegen, denn bei mir funktioniert es auch so:echo file_get_contents("http://www.mahnerfolg.de/urteile/index.php/feed/");

 
unset
03-09-2009, 11:51 
 
Das hab ich nicht ausprobiert. Die Arbeit für die Fragesteller zu machen habe ich mir schon lange abgewöhnt ;-)

 
AmicaNoctis
03-09-2009, 11:58 
 
Da hast du schon recht, aber du könntest deine eigene Arbeit machen und den Thread mal verschieben ;)

 
unset
03-09-2009, 12:00 
 
Recht haste! ;-)

 
Grabber66
03-09-2009, 21:28 
 
Danke, hatte irgentwie ein Brett vorm Kopf.
Und das es einfach nur das Fehlende Hochkomma war ärgert mich immer noch.

Naja auf jeden Fall gehts jetzt....THX

 
AmicaNoctis
03-09-2009, 21:38 
 
Achso, prima. Danke für die Rückmeldung! Ich hab schon drauf gehofft, dass ich endlich erfahre, was nun eigentlich das Problem war. :)


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:28 Uhr.