Leggere un feed RSS grazie alla classe SyndicationFeed

by Andrea Dottor 14 August 2013 10:57

Dalla versione 3.5 del .NET Framework è presente la classe SyndicationFeed all’interno del namespace System.ServiceModel.Syndication, che nel framework 3.5 è contenuta nell’assembly System.ServiceModel.Web mentre dal framework 4 la trovate all’interno dell’assembly System.ServiceModel.

Link MSDN: SyndicationFeed Class

Questa classe fornisce i metodi per leggere e scrivere con facilità un feed RSS 2.0 e/o Atom 1.0.

Ecco qui un esempio che dimostra la facilità di utilizzo di questa classe. Il seguente codice permette di recuperare il contenuto di un feed, come ad esempio l’elenco dei post esposti dal feed di un blog:

/// <summary>
/// Classe che rappresenta un elemento contenuto all'interno di un feed RSS
/// </summary>
public class FeedItem
{
    public string Title { get; set; }

    public string Description { get; set; }

    public DateTime Date { get; set; }

    public string Url { get; set; }
}

/// <summary>
/// Metodo che ritorna gli item di un feed RSS, dato l'url del feed
/// </summary>
/// <param name="feedUrl">Url del feed RSS</param>
/// <returns>Elenco di elementi contenuti nel feed</returns>
public IEnumerable<FeedItem> GetPosts(string feedUrl)
{
    List<FeedItem> posts = new List<FeedItem>();
    using (XmlReader reader = XmlReader.Create(feedUrl))
    {
        SyndicationFeed feed = SyndicationFeed.Load(reader);
        reader.Close();
        foreach (SyndicationItem item in feed.Items)
        {
            FeedItem post = new FeedItem
                {
                    Description = item.Summary.Text,
                    Title = item.Title.Text,
                    Date = item.PublishDate.Date,
                    Url = item.Links.Count > 0 ? item.Links.First().GetAbsoluteUri().ToString() : null
                };
            posts.Add(post);
        }
    }

    return posts;
}

Tags: ,

.NET

MSDN in low bandwidth

by andrea 20 April 2009 01:10

Leggo oggi dal post di Scott Hanselman 
(Low Bandwidth View and other Hidden (and Future) Features of MSDN) e scopro una funzionalità di MSDN davvero stupenda, e cioè la possibilità di visualizzare e navigare MSDN in formato "low bandwidth" (ed altre modalità).

La cosa che trovo stupeda è l'estrema velocità di caricamento che hanno le pagine, il che vuol velocizza anche il reperimento e la lettura. Ammentto che attendevo una funzionalità come questa da molto tempo, e sono convinto che molti di voi la penseranno allo stesso modo.

Per vedere a attivare questa visualizzazione, se la pagina che stiamo leggendo è
http://msdn.microsoft.com/en-us/library/system.xml.xmlnode.aspx
inserendo "(loband)" nell'url
http://msdn.microsoft.com/en-us/library/system.xml.xmlnode(loband).aspx
verrà visualizzata la pagina nel nuovo formato.

MSDN MSDN_loband

MSDN_loband_2Per abilitare in modo permanente la funzionalità, all'interno della pagina in low bandwidth è possibile cliccare nel link "Persist low bandwidth", e successivamente, qualsiasi pagina/link aprirete verrà visualizzata in questa modalità.

Nel post sono elencate anche altre funzionalità introdotte in MSDN, tra le quali il miglioramento delle prestazioni ed altre nuove modalità di visualizzazione.

Complimenti davvero al team che ci stà lavorando, ed ora Persist low bandwidth attivato!!

Technorati Tags: ,

Tags: ,

.NET | Microsoft