sábado, abril 20, 2024

Convierte tu página en RSS de forma dinámica

En este artículo vamos a explicar como crear tu archivo que genere el RSS de tu sitio.

El código aqui mostrado no lo invente yo, solo lo transforme de C# a VB para tener otra versión, luego al final del artículo pondremos la fuente original donde podran ver el código en C#.

Como primer paso necesitamos saber la estructura que va a tener nuestro archivo a la hora final, el cual nos va a servir como plantilla de trabajo

Ejemplo de estructura final del archivo:

<?xml version=»1.0″ encoding=»ISO-8859-1″ ?>
<rss version=»0.91″>

<channel>
<title>Titulo de Nuestro Sitio Web</title>
<link>http://www.dotnetcr.com.com</link>
<description>Aqui podríamos poner una breve descripción de nuestro sitio</description>
<language>es-ES</language>
<copyright>2005 todos los derechos reservados</copyright>
<webMaster>webmaster@dotnetcr.com</webMaster>

<image>
<title>Imagen o Logo
<url>http://www.dotnetcr.com/logo.gif
<link>http://www.dotnetcr.com
<width>100
<height>12
</image>

<item>
<dc:creator>nombre o código del autor</dc:creator>
<title>Titulo del artículo</title>
<link>http://www.dotnetcr.com/articulo/21.html</link>
<description>
Descripcion del artículo, podría ser resumida
para obligar a nuestro lector a ir a nuestro sitio web
</description>
<pubDate>05/05/2005</pubDate>
</item>

</channel>
</rss>

Ahora expliquemos cada uno de los campos

Cabecera del archivo:
title: es el título/nombre de tu sitio web.
link: es la URL de la home de tu sitio web.
description: es una descripción corta de tu sitio.
language: es el idioma en la que está escrito tu sitio. En el caso de un sitio en inglés de Estados Unidos debería ser , español de España , español de Costa Rica , y para ver el código para otros paises aqui.

Items del archivo:
dc:creator: creador del articulo
title: Nombre del Articulo
url: direccion donde se encuentra el articulo
description: descripción breve del artículo
pubDate: fecha en que se genera el archivo

La imagen es para adornar el documento xml, y que los lectores de noticias puedan desplegarlo, no es obligatorio, solo lo usas si quieres, y el tamaño recomendado es 90 x 36 pixeles.

Ahora si, Como creamos este archivo dinámicamente?, pues aquí te doy el código fuente:

<%@ Import Namespace=DotNetCR._Conexion %>
<%@ Import Namespace=System.Data %>
<%@ Page Language=»vb» %>

<script runat=»server»>

'Load de página, aqui se llaman todos los métodos que crean el RSS
Private sub Page_Load(sender as object, e as System.EventArgs)
Dim writer as new System.Xml.XmlTextWriter( _
Response.OutputStream, _
System.Text.Encoding.UTF8)
Dim iRecursos as new Negocios.Recursos
Dim dtRecursos as DataTable
Dim drRecurso as DataRow

escribirInicioRSS(writer)
dtRecursos = iRecursos.TraerRecursosRSS.Tables(«Recursos»)

for each drRecurso in dtRecursos.Rows
agregarItemRSS(writer,drRecurso(«NombreRecurso»), _
«http://www.mipaginaweb.com/recursos.aspx?art=» & _
drRecurso(«CodigoRecurso»), _
drRecurso(«DescripcionRecurso»), _
drRecurso(«CodigoUsuario»))
next

escribirFinalRSS(writer)
writer.Flush()
writer.Close()

Response.ContentEncoding = System.Text.Encoding.UTF8
Response.ContentType = «text/xml»
Response.Cache.SetCacheability(HttpCacheability.Public)
Response.End()
end sub

'metodo que escribe los requirimientos iniciales del archivo e informacion general del canal
Private function escribirInicioRSS(writer as System.Xml.XmlTextWriter) as System.Xml.XmlTextWriter
writer.WriteStartDocument()
writer.WriteStartElement(«rss»)
writer.WriteAttributeString(«version»,»2.0″)
writer.WriteAttributeString(» target=»_blank»>link en Mentores.NET.
– Convertir página en RSS Sindicacion.net
Lista de paises y códigos permitidos
Validar nuestro archivo RSS

Roy Rojas
Roy Rojashttp://www.dotnetcr.com
Con más de 20 años de experiencia en programación, experto en lenguajes .NET, VB, C#, ASP.NET, Xamarin, XCode, DBA en SQL Server. Creador de dotnetcr.com, sitio web para programadores en español. royrojas.com | dotnetcr.com | GitHub
Roy Rojas
Roy Rojashttp://www.dotnetcr.com
Con más de 20 años de experiencia en programación, experto en lenguajes .NET, VB, C#, ASP.NET, Xamarin, XCode, DBA en SQL Server. Creador de dotnetcr.com, sitio web para programadores en español. royrojas.com | dotnetcr.com | GitHub