Hallo kungschu,
Meiner Meinung nach machst du das etwas zu kompliziert. Ich wuerde mir den ganzen Array sparen und die Daten als String bearbeiten.
// ich bin ein Einfach-Anfuhrungszeichen-Fetichist, deshalb stuende in meiner Konfigurationsdatei:
define('NL', "\n"); // evtl. if(!defined('NL')) { define('NL', "\n"); }
$xml = '<?xml version="1.0" encoding="utf-8"?>' . NL
.= ' <rss version="2.0">' . NL
.= ' <channel>' . NL
.= ' <title>Blog</title>' . NL
.= ' <description>Ein Blog</description>' . NL
.= ' <link>http://example.org</link>' . NL . NL;
while($row = mysql_fetch_assoc($result)) {
$xml .= ' <item>' . NL
.= ' <title>' . strip_slashes($row['head']) . '</title>' . NL
.= ' <description>' . strip_slashes($row['message']) . '</description>' . NL
.= ' <link></link>' . NL
.= ' <author>kungschu</author>' . NL
.= ' <guid>' . strip_slashes($row['id']) . '</guid>' . NL
.= ' </item>' . NL . NL;
$i++;
}
$xml .= ' </rss>' . NL
.= ' </channel>' . NL;
Das ist einfach, hat ein nettes Syntaxhighlighting und man kann sich den ganzen Kram mit " usw. sparen.
Schneller soll es auch sein, aber erst ab einer Milliarde Eintraege ;-)
Gruß,
Dieter