Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   RSS-Feed erzeugen (mit PHP) (https://www.delphipraxis.net/41084-rss-feed-erzeugen-mit-php.html)

CalganX 25. Feb 2005 18:20


RSS-Feed erzeugen (mit PHP)
 
Hi,
ich versuche gerade für mein kleines Blogging-System eine RSS-Feed-Ausgabe zu programmieren. Soweit so gut. Ich habe mir den Feed von Golem.de als Vorbild genommen. Außerdem habe ich mir eine kleine Einführung rausgesucht, um die Struktur von RSS-Feeds herauszufinden.
Ich habe mir dann mal folgende Datei gebastelt, die den Feed erzeugen sollte:
Code:
<?php
   require "global.php";
   
   header('Content-Type: application/rss+xml');
?>
<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0" xmlns:blogChannel="http://backend.userland.com/blogChannelModule">
    <channel>
        <title><?php print BLOG_CAPTION; ?></title>
        <description><?php print BLOG_SUBTITLE; ?></description>
        <link><?php print BLOG_URL; ?></link>
        <lastBuildDate><?php print date("r"); ?></lastBuildDate>

        <generator><?php print "BlogSystem by CSD-Software"; ?></generator>
        <language>de</language>
<?php
   $querystring = 'SELECT * FROM ' . TABLE_BLOG . ' ORDER BY timeStamp DESC LIMIT 0,15';
   $result = $sql->query($querystring);
               
   foreach ($sql->query_data[$result] as $row) {
?>
        <item>
            <title><?php print $row['charTitle']; ?></title>
            <link><?php print BLOG_URL; ?>index.php?showid=<?php print $row['intID']; ?></link>
            <description><?php print parse_content(htmlentities($row['textContent'])); ?></description>
            <comments><?php print BLOG_URL; ?>index.php?showid=<?php print $row['intID']; ?></comments>

            <pubDate><?php print date("r", $row['timeStamp']); ?></pubDate>
            <guid><?php print BLOG_URL; ?>index.php?showid=<?php print $row['intID']; ?></guid>
        </item>
<?php
   }
?>
   </channel>
</rss>
Allerdings weigert sich der Firefox partout diese Datei mit Inhalt anzuzeigen. Einen PHP-Fehler konnte ich nicht finden (wurde auch nichts ausgegeben) und ich war eigentlich der Meinung dass der Aufbau auch richtig sein sollte.

Hat jemand eine Idee, was ich falsch gemacht haben könnte?

Chris

BorlanDelphiUser 25. Feb 2005 18:27

Re: RSS-Feed erzeugen (mit PHP)
 
Ich hab das mal so gemacht ... denke aber auch an das Verbinden zur Datenbank!!!

Code:
<?php
#### NEWS_FEED erstellen

//Unix-Pfad zur Datei
$datei= $_SERVER["DOCUMENT_ROOT"].'/mtb/rss/feed.xml';

$xml = '<?xml version="1.0" encoding="ISO-8859-1"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/">
<channel>
    <title>mtb-brandenburg.de RSS+XML Newsfeed - News</title>
    <description>Was gibt es Neues auf mtb-brandenburg.de</description>
</channel>
';

  // AUSGABE NEWS
  $show = 5;
  $ergebnis = mysql_query("SELECT * FROM $tb_news_daten ORDER BY datum");
  $start = (mysql_num_rows($ergebnis)>$show) ? mysql_num_rows($ergebnis)-$show : 0;

  $sql = mysql_query("SELECT * FROM $tb_news_daten ORDER BY datum ASC LIMIT $start, $show");
  while ($result = mysql_fetch_array($sql, MYSQL_ASSOC)) {
      $description = htmlspecialchars($result["text"]);
      $title = htmlspecialchars('NEWS : '.date("d.m.y - H:i",$result["datum"]).' - '.$result["titel"]);
      $link = htmlspecialchars("http://www.mtb-brandenburg.de/main.php?news=".$result["newsid"]);

      $xml .= "
      <item>
          <title>$title</title>
          <description>$description</description>
          <link>$link</link>
      </item>
      ";
  }


// REST
$xml .= "
</rdf:RDF>
";

//File anlegen und speichern
$file=@fopen($datei,"w+");
@fputs($file,$xml);
@fclose($file);
?>

CalganX 25. Feb 2005 19:03

Re: RSS-Feed erzeugen (mit PHP)
 
Hi,
das Problem ist, dass du RSS 0.9 verwendest und ich RSS 2.0. Da ist ein Unterschied in den Namespaces. Und daran wird es wohl liegen. :(

Chris

CalganX 25. Feb 2005 19:46

Re: RSS-Feed erzeugen (mit PHP)
 
Hi,
habe jetzt auf eine Alternative zurückgegriffen: http://www.bitfolge.de/rsscreator-en.html
Scheint ganz effektiv zu sein und funktioniert auch soweit.

Danke,
Chris


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz