Home / Programmazione / C# - Asp.NET / Leggere feed RSS in Asp.NET e C#
Mattepuffo

Leggere feed RSS in Asp.NET e C#

Leggere feed RSS in Asp.NET e C#

Necessità: mostrare i titoli degli utlimi articoli del mio blog (questo qua insomma) sul mio sito (MatteoFerrone.com).

Il sio è scritto in Asp.NET e C#, e oggi vi spiego come farlo.

Come al solito avremo bisogno di un pò di codice C# nel code-behind della pagina, e un pò di Asp.NET con i suoi controlli.

Cominciamo dalla prima parte:

public partial class Blog : System.Web.UI.Page
{
  protected string title;
  protected string desc;

  protected void Page_Load(object sender, EventArgs e)
  {
   DataSet ds = new DataSet("rss");
   ds.ReadXml("http://www.mattepuffo.com/site/index.php?format=feed&type=rss");
   title = ds.Tables["item"].Rows[0]["title"] as string;
   desc = ds.Tables["item"].Rows[0]["description"] as string;
   rss.DataSource = ds.Tables["item"];
   rss.DataBind();
  }
}

Le variabili protected (e non private perchè sennò non sarebbero raggiungibili sulla pagina) rappresentano i dati che vogliamo vedere: il titolo e la descrizione.

Sotto nel caricamento della pagina creiamo un DataSet dove immagazzinare i dati.

I dati li prendiamo con il metodo ReadXml dall'url del feed (che trovate in home page).

Sotto riempiamo le variabili.

Se osservate la sorgente della pagina notate che ogni articolo sta dentro un tag item.

Qua dentro ci sono anche i due tag che ci interessano: title e description.

Sotto impostiamo il DataSoruce e facciamo il bind.

rss non è altro che l'id dell'elemento della pagina che andremo a riempire.

In sostanza è questo:

<asp:Repeater ID="rss" runat="server">
  <ItemTemplate>
   <p>
    <a href="<%# DataBinder.Eval(Container.DataItem, "link") %>" target="_blank">
    <%# DataBinder.Eval(Container.DataItem, "title") %></a></p>
   <p>
    <%# DataBinder.Eval(Container.DataItem, "description") %></p>
  </ItemTemplate>
</asp:Repeater>

Abbiamo un controllo Repeater con ID rss (usa spece di ciclo for insomma).

Sotto visualiziamo i dati.

Prima il titolo che rendiamo anche linkabile in modo da poterci rimandare alla pagina dell'articolo.

Sotto la descrizione (che altro non è che una parte di testo).

In verità io sul sito la description l'ho levata perchè non mi piaceva, però come vedete è possibile aggiungere facilmente qualsiasi tag che volete e che il feed vi propone.