Criar um Feed RSS
Canal: XML | Autor: Redação Oficina da Net | Publicado em: 05/09/2007 | Views: 8.367
Olá pessoal.
Hoje vou mostar como fazer para criar um feed RSS, hoje muito utilizado pela maioria dos sites. E é uma das novidades que venho com a famosa Web2.0.
Para quem não sabe, RSS é um subconjunto de "dialectos" XML que servem para agregar conteúdo ou "Web syndication" podendo ser acedido mediante programas/sites agregadores. É usado principalmente em sites de notícias e blogs.
A abreviatura do RSS é usada para se referir aos seguintes padrões:
- Rich Site Summary (RSS 0.91)
- RDF Site Summary (RSS 0.9 e 1.0)
- Really Simple Syndication (RSS 2.0)
A tecnologia do RSS permite aos usuários da internet se inscrever em sites que fornecem "feeds" (fontes) RSS. Estes são tipicamente sites que mudam ou atualizam o seu conteúdo regularmente. Para isso, são utilizados Feeds RSS que recebem estas atualizações, desta maneira o usuário pode permanecer informado de diversas atualizações em diversos sites sem precisar visitá-los um a um.
Os feeds RSS oferecem conteúdo Web ou resumos de conteúdo juntamente com os links para as versões completas deste conteúdo e outros metadados. Esta informação é entregue como um arquivo XML chamado "RSS feed", "webfeed", "Atom" ou ainda canal RSS.
Geralmente expecificados pelas imagens:

Um exemplo de como deverá seguir nosso RSS:
As Tags acima, são Tags padrão que devem ser mantidas. Somente o que irá variar dentro das tags acima é a TAG <item></item>. Iremos criar a tag item na quantidade de colunas ou registros que buscaremos no banco de dados.
Abaixo o código php que faz a mágica:
Este código faz a busca no banco, retorna os últimos 20 registros e salva no arquivo .xml
O resultado:
Hoje vou mostar como fazer para criar um feed RSS, hoje muito utilizado pela maioria dos sites. E é uma das novidades que venho com a famosa Web2.0.
Para quem não sabe, RSS é um subconjunto de "dialectos" XML que servem para agregar conteúdo ou "Web syndication" podendo ser acedido mediante programas/sites agregadores. É usado principalmente em sites de notícias e blogs.
A abreviatura do RSS é usada para se referir aos seguintes padrões:
- Rich Site Summary (RSS 0.91)
- RDF Site Summary (RSS 0.9 e 1.0)
- Really Simple Syndication (RSS 2.0)
A tecnologia do RSS permite aos usuários da internet se inscrever em sites que fornecem "feeds" (fontes) RSS. Estes são tipicamente sites que mudam ou atualizam o seu conteúdo regularmente. Para isso, são utilizados Feeds RSS que recebem estas atualizações, desta maneira o usuário pode permanecer informado de diversas atualizações em diversos sites sem precisar visitá-los um a um.
Os feeds RSS oferecem conteúdo Web ou resumos de conteúdo juntamente com os links para as versões completas deste conteúdo e outros metadados. Esta informação é entregue como um arquivo XML chamado "RSS feed", "webfeed", "Atom" ou ainda canal RSS.
Geralmente expecificados pelas imagens:

Um exemplo de como deverá seguir nosso RSS:
<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">
<channel>
<title>Oficina da Net</title>
<description>Portal WebMaster</description>
<link>http://www.oficinadanet.com.br</link>
<language>pt-br</language>
<item>
<title>Título da Coluna</title>
<description>Descrição da coluna</description>
<lastBuildDate>Aqui entra a data</lastBuildDate>
<link>http://www.oficinadanet.com.br/index.php?acao=colunas_show&id=1>/link>
</item>
</channel>
</rss>As Tags acima, são Tags padrão que devem ser mantidas. Somente o que irá variar dentro das tags acima é a TAG <item></item>. Iremos criar a tag item na quantidade de colunas ou registros que buscaremos no banco de dados.
Abaixo o código php que faz a mágica:
<?
//FEED RSS
$rss = '<?xml version="1.0" encoding="iso-8859-1"?>';
$rss .= '<rss version="2.0">';
$rss .= '<channel>';
$rss .= '<title>Oficina da Net - Colunas</title>';
$rss .= '<description>http://www.oficinadanet.com.br</description>';
$rss .= '<link>http://www.oficinadanet.com.br</link>';
$rss .= '<language>pt-br</language>';
// Conexão ao banco
$connect = mysql_connect('localhost','username','password');
// Selecionamos nossa base de dados
mysql_select_db('base',$connect);
$rs_rss = mysql_query("SELECT id, titulo,descricao,data FROM tabela_colunas ORDER BY data DESC LIMIT 20", $connect);
// Iniciamos nossa variável $conteudo vazia.
$conteudo = "";
while($criando=mysql_fetch_object($rs_rss))
{
$conteudo .= '<item>';
$conteudo .= "<title>$criando->titulo</title>";
$conteudo .= "<description>$criando->descricao</description>";
$conteudo .= "<lastBuildDate>$criando->data</lastBuildDate>";
$conteudo .= "<link>http://www.oficinadanet.com.br/index.php?acao=colunas_show&id=".$criando->id."</link>";
$conteudo .= '</item>';
}
// Aqui a var xml recebe todo conteudo da var rss e mais da var conteudo
$xml = $rss.$conteudo;
// Fechamos nossas TAG
$xml .= '</channel></rss>';
// Depois de criarmos nosso rss, vamos gravar ele em disco para podermos utilizar.
// Abre o arquivo para leitura e escrita; coloca o ponteiro do arquivo no começo
// e diminui (trunca) o tamanho do arquivo para zero. Se o arquivo não existe,
// tenta criá-lo (w+).
$arquivo = fopen('pasta/artigos.xml','w+');
// gravamos os dados no arquivo.xml
fwrite($arquivo,$xml);
// fechamos nosso arquivo
fclose($arquivo);
?>Este código faz a busca no banco, retorna os últimos 20 registros e salva no arquivo .xml
O resultado:
Esta obra está licenciada sob uma Licença Creative Commons. Você pode copiar, distribuir, exibir, executar, desde que seja dado
crédito ao autor original (Citando nome do autor, data, local e link de onde tirou o texto). Você não pode fazer uso comercial desta obra.
Você não pode criar obras derivadas.
Vote no artigo:
NR. DE VOTO(S): [1]








O seguinte erro aparece:
This page contains the following errors:
error on line 1 at column 3: xmlParsePI : no target name
error on line 1 at column 3: Encoding error
Below is a rendering of the page up to the first error.