Foros del Web » Programando para Internet » PHP »

Hacer fichero RSS, XML o ATOM

Estas en el tema de Hacer fichero RSS, XML o ATOM en el foro de PHP en Foros del Web. Hola a todos. Después de unos dias de vacaciones uno ya ha vuelto al curro (mira que cuesta) y a enfrentarse de nuevo con los ...
  #1 (permalink)  
Antiguo 29/08/2005, 04:02
Dig
 
Fecha de Ingreso: enero-2005
Mensajes: 60
Antigüedad: 19 años, 2 meses
Puntos: 0
Hacer fichero [RSS], [XML] o ATOM

Hola a todos.
Después de unos dias de vacaciones uno ya ha vuelto al curro (mira que cuesta) y a enfrentarse de nuevo con los "problemas" y demas...

Tengo una página web donde los usuarios pueden autentificarse para acceder a una página personal donde ven titulares de noticias en función de unos criterios. Además, hay un calendario mediante el cual cada usuario puede acceder a noticias de días anteriores.

Lo que me gustaria hacer ahora es que esas noticias fueran accesibles mediante un fichero xml o rss para que el usuario (si lo desea) pueda publicar estos titulares en su web.

Y no tengo ni idea como hacerlo. La idea es que el fichero se cree cada día automaticamente con las noticias de ese día leyenda estas desde la base de datos. Todo el sistema esta montado con PHP y Mysql.

Es esto posible? (supongo que si) y como?

Venga, a ver si alguien me puede echar un cable con el tema.

Saludos a todos

Última edición por jam1138; 02/10/2005 a las 23:14 Razón: Optimización del Motor de Busquedas
  #2 (permalink)  
Antiguo 29/08/2005, 12:59
 
Fecha de Ingreso: mayo-2005
Ubicación: Muy lejos de aquí
Mensajes: 367
Antigüedad: 18 años, 10 meses
Puntos: 0
Ojea esto: Manual para principiantes de XML DOM

Saludos
__________________
Saludos!
  #3 (permalink)  
Antiguo 30/08/2005, 00:27
Dig
 
Fecha de Ingreso: enero-2005
Mensajes: 60
Antigüedad: 19 años, 2 meses
Puntos: 0
Hola. No dudo que sea interesante la información que muestra el enlace, pero me he quedado un poco igual.

Venga, seguro que hay alguien que sabe como generar ficheros RSS o XML para que luegos otros puedan sindicarlo. No puede ser tan dificil, hoy en día esta a la orden del dia en multitud de webs.

Un saludo
  #4 (permalink)  
Antiguo 30/08/2005, 02:10
Avatar de illman  
Fecha de Ingreso: mayo-2001
Mensajes: 115
Antigüedad: 22 años, 10 meses
Puntos: 0
Hola, si te miras cualquier sistema de blog que hay por allí verás que el RSS, por ejemplo, es un XML con una estructura definida (standar), se trata de hacer un feed, y un parseador de estos documentos para poder acceder a la información. Pero la base es el documento XML con todas las etiquetas y parámetros bien construidos.
  #5 (permalink)  
Antiguo 30/08/2005, 05:27
Avatar de adriancid  
Fecha de Ingreso: abril-2005
Ubicación: Versalles, Santiago de Cuba, Cuba
Mensajes: 53
Antigüedad: 18 años, 11 meses
Puntos: 0
Aqui tienes una clase

Código PHP:
<?php

class GeneradorRss {
    
    private 
$rss;
    
    function 
__construct() {
        
$this->rss "<?xml version='1.0' encoding='iso-8859-1'?>\n";
        
$this->rss .= "<rss version='2.0'>\n";
        
$this->rss .= "<channel>\n"//__construct
    
}
    
    public function 
generar_canal($arreglo_canal)    {
        
$this->rss .= "<title>{$arreglo_canal['title']}</title>\n";
        
$this->rss .= "<link>{$arreglo_canal['link']}</link>\n";
        
$this->rss .= "<description>{$arreglo_canal['description']}</description>\n";
    } 
//generar_canal
    
    
public function generar_item($arreglo_item) {
        foreach (
$arreglo_item as $indice => $item) {
            
$this->rss .= "<item>\n";
            
$this->rss .= "<title>{$item['title']}</title>\n";
            
$this->rss .= "<link>{$item['link']}</link>\n";
            
$this->rss .= "<description>{$item['description']}</description>\n";
            
$this->rss .= "</item>\n";
        } 
//foreach        

        
$this->rss .= "</channel>\n";
        
$this->rss .= "</rss>\n";
    } 
//generar_item
    
    
public function get_rss() {
        return 
$this->rss;
    } 
//get_rss

//GeneradorRss 

?>
Envias la siguiente cabecera en la pagina donde se generan los rss
Código PHP:
header('Content-Type: text/xml'); 
Para que el navegador sepa que lo que le viene es un fichero XML.
Luego lo que haces es crear un objeto, para generar el canal le pasas un arreglo con los indices con el mismo nombre de los campos del rss como puedes ver en el método generar_canal, también puedes añadir otras etiquetas si lo deseas, y con luego mandas a generar los items con el método generar_item() al que le pasas un arreglo bidimensional de la forma
Código PHP:
$arreglo[0]['title'] = 'Hola';
$arreglo[0]['link'] = 'http://www.forosdelweb.com';

...

$arreglo[20]['title'] = 'Hola de Nuevo';
$arreglo[20]['link'] = 'http://www.forosdelweb.com'
y al final le pegas un echo al método get_rss() y ya tienes tu rss.

  #6 (permalink)  
Antiguo 30/08/2005, 06:28
Avatar de Intrepido  
Fecha de Ingreso: diciembre-2002
Ubicación: Barcelona
Mensajes: 118
Antigüedad: 21 años, 3 meses
Puntos: 0
http://forosdelweb.com/showpost.php?...07&postcount=5
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:30.