csharp-simplefeedreader

Cómo leer RSS con C# y la biblioteca SimpleFeedReader

SimpleFeedReader es una biblioteca de código abierto escrita en C# que simplifica la tarea de leer y analizar feeds de sindicación.

Los feeds de sindicación, como RSS y Atom, son una fuente valiosa de información en línea. Estos formatos estandarizados permiten a los usuarios seguir las últimas actualizaciones de sitios web, blogs y otros recursos en la web sin necesidad de visitarlos manualmente.

La biblioteca SimpleFeedReader de RobThree nos permite acceder a estos feeds de manera sencilla y eficiente. Facilita la extracción de información clave de los feeds, como títulos, descripciones, enlaces y fechas de publicación.

Es compatible con los formatos RSS 0.9x, 1.0, 2.0 y Atom 1.0, lo que la convierte en una solución versátil para cualquier proyecto que requiera el consumo de feeds de sindicación.

Su API está diseñada para ser intuitiva y fácil de usar, lo que te permite comenzar a trabajar con feeds en cuestión de minutos.

Además la mayoría de errores están catcheados, protegiéndonos, por ejemplo, de errores que ocurren si intentamos leer un Feed que está mal formateado (he encontrado Feed a los que les pasa eso temporalmente, y luego se arreglan). No obstante, podemos desactivar este catcheo.

Cómo usar SimpleFeedReader

Podemos añadir la biblioteca a un proyecto de .NET fácilmente, a través del paquete Nuget correspondiente.

   Install-Package SimpleFeedReader

Aquí tenéis algunos de cómo utilizar SimpleFeedReader extraídos de la documentación de la biblioteca

var reader = new FeedReader();
var items = reader.RetrieveFeed("http://www.nytimes.com/services/xml/rss/nyt/International.xml");

foreach (var i in items)
    Console.WriteLine($"{i.Date.ToString("g")}\t{i.Title}");

Que daría un resultado similar a este:

4/16/2014  4:27 AM     Growth Rose 7.4% in First Quarter, China Reports
4/16/2014 12:29 AM     Milan Court Gives Berlusconi a Year of Community Service
4/15/2014 12:34 PM     Desalination Plant Said to Be Planned for Thirsty Beijing
4/15/2014  7:24 PM     After Prank by Dutch Girl on Twitter, Real Trouble
4/15/2014  4:33 PM     Afghanistan Says NATO Airstrike in East Killed Civilians
4/16/2014 12:49 AM     Iran Escalates Dispute Over U.N. Envoy
...

Aquí tenemos otro ejemplo de como obtener un Feed y sus distintas propiedades.

using SimpleFeedReader;

// Crea una instancia del lector de feeds
var reader = new FeedReader();

// Lee un feed de sindicación
var feed = reader.RetrieveFeed("https://example.com/feed.rss");

// Accede a los elementos del feed
foreach (var item in feed.Items)
{
   Console.WriteLine($"Título: {item.Title}");
   Console.WriteLine($"Descripción: {item.Description}");
   Console.WriteLine($"Enlace: {item.Link}");
   Console.WriteLine($"Fecha de Publicación: {item.PublishDate}");
   Console.WriteLine();
}

SimpleFeedReader es Open Source, y todo el código y documentación está disponible en el repositorio del proyecto en https://github.com/RobThree/SimpleFeedReader