Ver Mensaje Individual
  #2  
Antiguo 02-10-2006
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Reputación: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Yo tampoco soy un experto acerca de PHP y tampoco sobre XML. Aun así te adjunto el código fuente que uso yo para generar archivos RSS (un tipo de XML). Seguro que hay formas mejores de hacerlo (estoy en ello ) pero seguro que sirve para que te hagas una idea.

Código PHP:
<?php
 
# Aplicación para la generación de los archivos RSS de Burdjia.com.

 #########################
 # Archivo en castellano #
 #########################
 
echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n";
 echo 
"<rss version=\"2.0\">\n";
 echo 
" <channel>\n";
 echo 
"  <title>Burdjia.com</title>\n";
 echo 
"  <link>http://www.burdjia.com/</link>\n";
 echo 
"  <description>Burdjia es un estudio de diseño de videojuegos con unas ideas poco comunes respecto a cómo deberían ser los juegos de ordenador. También desarrolla librerías y realiza trabajos para otras empresas.</description>\n";

# NOTICIAS.
# Obtener sólo noticias en castellano.
 
$LENGUAJE "CAST";
# Crea la consulta, según se haya pedido.
 
include ("obten_noticias.php");
# Conectamos con la base de datos.
 
$Conexion mysql_connect ("atawalpayupanki""atawalpayupanki""atawalpayupanki");
 if (!
$Conexion) die ("No pudo conectarse a la base de datos");
 
$BD mysql_select_db ("atawalpayupanki"$Conexion); # Selecciona la base de datos.
# Hacemos la consulta.
 
$Result mysql_query ($sql$Conexion);
 if (
$Result) {
  while (
$entrada mysql_fetch_object ($Result)) {
  
# Obtenemos la fecha.
   
$Hoy getdate ($entrada->SEGUNDOS);
  
# Construimos el item.
   
echo "\n  <item>\n";
   echo 
"   <title>".$entrada->TCAST."</title>\n";
   echo 
"   <guid>http://www.burdjia.com/#".$Hoy[mday]."_".$Hoy[mon]."_".$Hoy[year]."</guid>\n";
   echo 
"   <pubDate>".date ('r'$entrada->SEGUNDOS)."</pubDate>\n";
   echo 
"   <link>http://www.burdjia.com/#".$Hoy[mday]."_".$Hoy[mon]."_".$Hoy[year]."</link>\n";
   echo 
"   <description><![CDATA[".$entrada->CAST."]]></description>\n";
   echo 
"  </item>\n";   
  }
 }
 
# IMAGEN DEL DÍA
# Obtiene la lista de imagenes.
 
$Result mysql_query ('SELECT * FROM `IDD` ORDER BY `ARCH` DESC LIMIT 0, 3'$Conexion);
 if (
$Result) {
  while (
$entrada mysql_fetch_object ($Result)) {
  
# Obtenemos la fecha.
   
$Fecha $entrada->DIA." de ";
   switch (
$entrada->MES) {
    case 
1$Fecha .= "Enero"; break;
    case 
2$Fecha .= "Febrero"; break;
    case 
3$Fecha .= "Marzo"; break;
    case 
4$Fecha .= "Abril"; break;
    case 
5$Fecha .= "Mayo"; break;
    case 
6$Fecha .= "Junio"; break;
    case 
7$Fecha .= "Julio"; break;
    case 
8$Fecha .= "Agosto"; break;
    case 
9$Fecha .= "Septiembre"; break;
    case 
10$Fecha .= "Octubre"; break;
    case 
11$Fecha .= "Noviembre"; break;
    case 
12$Fecha .= "Diciembre"; break;
   }
   
$Fecha .= ' de 20';
   if (
$entrada->ANNO 10$Fecha .= '0';
   
$Fecha .= $entrada->ANNO;
  
# Calcula la fecha de publicación.
   
$Segundos mktime (1200$entrada->MES$entrada->DIA$entrada->ANNO);
  
# Construimos el item.
   
echo "\n  <item>\n";
   echo 
"   <title>Imagen del día (".$Fecha.")</title>\n";
   echo 
"   <guid>http://www.burdjia.com/IDD/index.php?ID=".$entrada->ARCH."</guid>\n";
   echo 
"   <pubDate>".date ('r'$Segundos)."</pubDate>\n";
   echo 
"   <link>http://www.burdjia.com/IDD/index.php?ID=".$entrada->ARCH."</link>\n";
   echo 
"   <description><![CDATA[".$entrada->DESCRIPCION."]]></description>\n";
   echo 
"  </item>\n";   
  }
 }
 echo 
" </channel>\n";
 echo 
"</rss>";
?>
[edit]Olvidé poner el enlace al archivo "resultado". Aquí está.

Última edición por Ñuño Martínez fecha: 02-10-2006 a las 12:48:47.
Responder Con Cita