Oct 20 2008

C# Generar RSS en nuestra pagina ASP.NET (rss feed)

Category: ProgramacionIndigo @ 2:56 PM

Según la wikipediaRSS es un sencillo formato de datos que es utilizado para redifundir contenidos a suscriptores de un sitio web. El formato permite distribuir contenido sin necesidad de un navegador, utilizando un software diseñado para leer estos contenidos RSS (agregador). A pesar de eso, es posible utilizar el mismo navegador para ver los contenidos RSS. Las últimas versiones de los principales navegadores permiten leer los RSS sin necesidad de software adicional.”

El código para generar rss es realmente sencillo y tan sólo debemos escribirlo en el Page_Load de nuestra página:

[sourcecode language='csharp']protected void Page_Load(object sender, EventArgs e)
{
Response.Clear();
Response.ContentType = “text/xml”;
XmlTextWriter xmlTextWrite = new XmlTextWriter(Response.OutputStream, Encoding.UTF8);
xmlTextWrite.WriteStartDocument();
xmlTextWrite.WriteStartElement(”rss”);
xmlTextWrite.WriteAttributeString(”version”,”2.0″);
xmlTextWrite.WriteStartElement(”channel”);
xmlTextWrite.WriteElementString(”title”, “indigo blog rss example.”);
xmlTextWrite.WriteElementString(”link”, “http://www.microcode.es/index.php”);
xmlTextWrite.WriteElementString(”description”, “Ultimas noticias.”);
xmlTextWrite.WriteElementString(”copyright”, “(c) 2008, microcode blog.”);
xmlTextWrite.WriteElementString(”ttl”, “5″);

// Este bucle es el encargado de generar los item del rss. Aquí podríamos a nuestra base de datos para obtener los elementos
// que se quieres mostrar en el rss.
for (int i = 0; i < 5; i++)
{
xmlTextWrite.WriteStartElement(”item”);
xmlTextWrite.WriteElementString(”title”, string.Format(”Title-{0}”, i));
xmlTextWrite.WriteElementString(”description”, string.Format(”Description-{0}”, i));
xmlTextWrite.WriteElementString(”link”, string.Format(”http://www.microcode.es/index.php#{0}”, i));
xmlTextWrite.WriteElementString(”pubDate”, DateTime.Now.ToString(”dd/MM/yyyy HH:mm”));
xmlTextWrite.WriteElementString(”guid”, string.Format(”http://www.microcode.es/index.php#{0}”, i));
xmlTextWrite.WriteEndElement();
}

xmlTextWrite.WriteEndElement();
xmlTextWrite.WriteEndElement();
xmlTextWrite.WriteEndDocument();
xmlTextWrite.Flush();
xmlTextWrite.Close();

Response.End();
}

[/sourcecode]

Saludos.

¡Compartelo!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Add to favorites
  • BarraPunto
  • Bitacoras.com
  • LinkedIn
  • Meneame
  • RSS
  • Technorati
  • Twitter

Tags: , ,

Comments are closed.