Problematikken i det der er at du reelt set får alting til at stå på en enkelt linie. Det vil sige at når du vil fejlsøge i din XML vil du altid få at vide at fejlen ligger i linie 1. Ikke særligt behjælpeligt i en linie på 3000 tegn.
Hvis du får det sat pænt op, vil du også hurtigt kunne finde fejl i din XML og du vil også have et bedre overblik.
Istedet for at printe dit output ud bør du lægge det i en variabel og derefter kan du bruge DOM for at 'forskønne det':
---------------------------------
$rss = '<?xml version="1.0" encoding="UTF-8"?>';
$rss .= '<rss version="2.0" xmlns:atom="
http://www.w3.org/2005/Atom">';$rss .= '<channel>';
$rss .= '<atom:link href="
http://www.mctraef.dk/traeffeed.php" rel="self" type="application/rss+xml" />';
$rss .= '<title>mctraef.dk</title>';
$rss .= '<link>
http://www.mctraef.dk</link>';$rss .= '<description>'.utf8_encode("MCtræf i hele Danmark").'</description>';
$hent_naeste = "select *, traef.id AS t_id from traef_event, traef where traef_event.traef_id = traef.id AND starttid > '".date("U")."'order by starttid limit 10";
$koer_hent_naeste = mysql_query($hent_naeste) or die(mysql_error());
while($row=mysql_fetch_array($koer_hent_naeste))
{
$rss .= '<item>';
$rss .= '<title><![CDATA['.utf8_encode($row['navn'].' '.date("d-m-Y H:i", $row["starttid"])).']]></title>';
$rss .= '<description><![CDATA['.utf8_encode($row['beskrivelse']).']]></description>';
$rss .= '<guid>
http://www.mctraef.dk/index.php?inc=traef&id='.$row["t_id"].'</guid>'; $rss .= '</item>';
}
$rss .= '</channel>';
$rss .= '</rss>';
$doc = new DOMDocument('1.0');
$doc->preserveWhiteSpace = false;
$doc->loadXML($rss);
$doc->formatOutput = true;
$data = $doc->saveXML();
echo $data;
---------------------------------
Prøv det...