Aqui va el codigo de mi funcion
Código PHP:
function crearRSS() {
global $filename, $tituloweb, $url, $tema;
$filename = strtolower(str_replace(' ', '', index)) . '.xml';
if (file_exists($filename)) {
@unlink($filename);
}
$handler = fopen($filename, 'w+');
// Creamos las cabeceras para el RSS
$rssfile = "<?xml version="1.0\" encoding=\"iso-8859-1\"?>
<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"
xmlns=\"http://purl.org/rss/1.0/\">
<channel rdf:about=\"".$url."\">
<title>".$tituloweb."</title>
<link>".$url . $filename ."</link>
<description>
Generado desde nuesta DB
".$tituloweb." ".$tema."
</description>
<items>
<rdf:Seq>\n";
/* Sacamos la informacion de las noticias con una consulta anidada */
$SQL_query = mysql_query('SELECT e.id,e.autorid,e.fecha,e.titulo,e.intro,e.texto,a.nombre,a.idautor'
. ' FROM entradas AS e'
. ' LEFT JOIN autores AS a ON(e.autorid=a.idautor)'
. ' ORDER by e.id DESC LIMIT 0, 10');
while($noticias = mysql_fetch_assoc($SQL_query))
{
/* Set Variables */
$time = $noticias['fecha'];
$titulo = $noticias['titulo'];
$intro = $noticias['intro'];
$nombre = $noticias['nombre'];
if (!$nombre)
{
$usuario = $noticias['nombre'];
}
/* Mostramos el link hacia cada articulo */
if ($noticias['texto'] != '')
{
$enlace = $url . '?op=leer&entrada=' . $noticias['id'] . '';
}
else if ($noticias['texto'] != '')
{
$enlace = $url . '?op=leer&entrada=' . $noticias['id'] . '';
}
else
{
$enlace = $url;
}
// Creamos la tabla de contenido
$rssfile .= " <rdf:li resource=\"".$titulo."\" />\n";
// Creamos la <item> constructora para cada noticia
$items .= " <item rdf:about=\"".$enlace."\">
<title>".str_replace('"', '"', $titulo) ."</title>
<link>".$enlace."</link>
<description>
$intro
</description>
<pubDate>".$time."</pubDate>
</item>\n";
}
// Cerramos la tabla de contenido
$rssfile .= " </rdf:Seq>
</items>
</channel>\n";
// Agregamos noticias por item
$rssfile .= $items;
// Creamos el pie del archivo de RSS
$rssfile .= "</rdf:RDF>\n";
// Pone la secuencia $rssfile en el archivo de RSS
if(!fputs($handler, $rssfile))
{
echo "no se pudo crear el Rss";
}
fclose($handler);
}
The XML page cannot be displayed
Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.
--------------------------------------------------------------------------------
Reference to undefined entity 'ordf'. Error processing resource 'http://localhost/blog2/index.xml'. Line 25, Position 121
<rdf:li resource="La 1ª Campaña Mundial de Seguridad en la Red ayuda a luchar contra el spam" />
El Xml generado es este
Código:
En que estoy fallando o que debo hacer?<?xml version="1.0" encoding="iso-8859-1"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/"> <channel rdf:about="http://localhost/blog/"> <title>TLweblog</title> <link>http://localhost/blog/index.xml</link> <description> Generado desde nuesta DB TLweblog Aprendiendo Juntos </description> <items> <rdf:Seq> <rdf:li resource="Probando el BBCODE" /> <rdf:li resource="La 1ª Campaña Mundial de Seguridad en la Red ayuda a luchar contra el spam" /> </rdf:Seq> </items> </channel> <item rdf:about="http://localhost/blog/?op=leer&entrada=4"> <title>Probando el BBCODE</title> <link>http://localhost/blog/?op=leer&entrada=4</link> <description> La calidad nunca es un accidente; siempre es el resultado de un esfuerzo de la inteligencia Este es un weblog que funciona muy bien pues :) </description> <pubDate>13/8/2004</pubDate> </item> <item rdf:about="http://localhost/blog/?op=leer&entrada=2"> <title>La 1ª Campaña Mundial de Seguridad en la Red ayuda a luchar contra el spam</title> <link>http://localhost/blog/?op=leer&entrada=2</link> <description> El spam o correo electrónico se ha convertido es una de las más temibles amenazas de Internet. La proliferación de mensajes publicitando todo tipo de artículos ha llegado a tal extremo que, en este momento, suponen el 25% de la totalidad de los e-mails que se encuentran en circulación. </description> <pubDate>12/8/2004</pubDate> </item> </rdf:RDF>
Ah por cierto al guardar las entradas las limpio asi
Código PHP:
$intro = strip_tags(trim($_POST['intro']));
$texto = strip_tags(trim($_POST['texto']));
//y despues realizo mi consulta a la db