Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. ASP.NET
Code

Come costruire un Feed RSS con ASP.NET

by
Length:LongLanguages:

Italian (Italiano) translation by Mirko Pizii (you can also view the original English article)

Nel corso di questo tutorial, esamineremo come creare un Feed RSS con il framework ASP.NET. Avendo un feed RSS per il tuo sito è diventata una necessità negli ultimi anni. Con i siti di notizie o Blog viene aggiornati di frequente e con la grande quantità di notizie e Blog siti web là fuori, RSS ha permesso ai lettori di tenere il passo con nuovi contenuti senza essere costretti a far loro visita. Una volta che hai completato questo tutorial, saprete come creare un feed RSS con ASP.NET e come eseguire il rendering di documenti XML sul Web ASP.NET pagine.


Passo 0: RSS 2.0 Introduzione

RSS è un formato di diffusione di contenuti web. E ' l'acronimo di "Really Simple Syndication" ed è scritto in XML. Tutti i file RSS devono essere conforme alla specifica XML 1.0, come pubblicato dal World Wide Web Consortium (W3C). Con RSS, è possibile distribuire contenuti web sono aggiornati da un sito web a migliaia di altri in tutto il mondo. Per semplificare il termine, RSS permette la navigazione veloce per notizie e aggiornamenti.

Le regole di sintassi di RSS 2.0 sono abbastanza semplice, ma rigoroso. Ecco un semplice documento RSS:

La prima riga del documento - la dichiarazione di XML - definisce la versione XML e la codifica dei caratteri utilizzati nel documento. In questo caso, il documento è conforme alla 1.0 specifica di XML e utilizza il set di caratteri utf-8. La riga successiva è la dichiarazione di RSS, che identifica che questo è, infatti, un documento RSS (più specificamente, RSS versione 2.0).

La riga successiva contiene l'elemento <channel>. Questo elemento viene utilizzato per descrivere il feed RSS. La <channel> elemento ha tre elementi figlio obbligatori:

  • <title> - Definisce il titolo del canale (es. nome del tuo sito Web)
  • <link> - Definisce il collegamento ipertestuale per il canale (ad es. http://www.yourdomain.com)
  • <description> - Descrive il canale (per esempio RSS Tutorial gratuito)

Ogni elemento <channel> può avere uno o più elementi <item>. Ogni <item> elemento definisce un articolo o una "storia" all'interno del feed RSS.

La <item> elemento richiede tre elementi figlio:

  • <title> - Definisce il titolo dell'elemento (ad es. primo articolo)
  • <link> - Definisce il collegamento ipertestuale alla voce (ad es. http://www.yourdomain.com/article.aspx?ID=1)
  • <description> - Descrive l'elemento (ad esempio la descrizione del primo articolo)

Quando viene visualizzato in Firefox, il documento di RSS qui sopra dovrebbe essere simile a:

RSS document

Passaggio 1: Guida introduttiva

Per seguire questo tutorial, Immaginate di lavorare come sviluppatore web e stanno costruendo un sito di news tutte le storie di notizie vengono archiviate nel database di Microsoft SQL Server. In particolare, gli articoli vengono memorizzati in una tabella denominata News, che contiene i seguenti campi:

  • ArticleID - un campo di chiave primaria intero incremento automatico identifica in modo univoco ogni articolo
  • Titolo - un nvarchar(256), specificando il titolo dell'articolo
  • Autore - un nvarchar(50), specificando l'autore dell'articolo
  • Descrizione - un tipo(500), fornendo una descrizione più approfondita dell'articolo
  • DatePublished - datetime, indicando la data che dell'articolo è stato pubblicato

Nota che ci potrebbero essere altri campi nella tabella di notizie, ma quelli sopra elencati sono gli unici che siamo interessati a usando-- almeno ai fini di un feed RSS.

Useremo il Visual Studio per finire l'esempio. Se non hai la versione completa di VS, si può afferrare l'edizione Express gratuita.


Passaggio 2: Creazione di un RSS. aspx Page

Il nostro prossimo passo è quello di creare una pagina Web ASP.NET (RSS.aspx) che visualizzerà un elenco delle notizie più recenti come un documento RSS 2.0 correttamente formattato. In Esplora soluzioni, fare clic destro il nome del progetto e quindi fare clic su Aggiungi nuovo elemento. Nella finestra di dialogo, in modelli Visual Studio installati fare clic su Web Form.

Add New Page

Nella casella nome, digitare un nome per la nuova pagina Web (RSS.aspx) e quindi fare clic su Aggiungi. La nuova pagina web ASP.NET (RSS.aspx) viene creato e visualizzato, conseguenza.

Perché vogliamo che la pagina RSS.aspx per generare un output XML, la prima cosa che dobbiamo fare è rimuovere tutti i controlli di markup o web HTML dalla pagina e quindi impostare la proprietà ContentType della @page direttiva su "text/xml".

Dopo aver eliminato tutti i markup HTML dalla pagina RSS.aspx, aggiungere un controllo Repeater nella pagina. Useremo il controllo Repeater per eseguire il rendering documento RSS RSS. aspx pagina.

Qui è la vista di origine della pagina RSS.aspx, dopo abbiamo apportato alcune modifiche:


Passaggio 3: Configurare la stringa di connessione

Prossimo, vogliamo impostare la stringa di connessione dell'origine dati, all'interno del file Web.config. Salvando le informazioni sulla stringa di connessione, ti evitiamo avendo a livello di codice nel file code-behind. Questo semplifica le cose, se le informazioni sulla stringa di connessione viene modificato in futuro. Posizionarlo nella <connectionStrings> sezione nell'elemento di configurazione, in questo modo:

Ci sarà accedere a queste informazioni dal file code-behind più tardi quando si desidera recuperare dati dal database.


Passaggio 4: Rimuovere caratteri non validi dal documento XML

Alcuni caratteri hanno un significato speciale in XML. Se si inserisce un carattere, ad esempio "<", all'interno di un elemento XML, verrà generato un errore, perché il parser interpreta come l'inizio di un nuovo elemento. Per evitare questo errore, sostituire il "<" personaggio con relativa entità di riferimento (

Ci sono cinque i riferimenti a entità predefinite in XML:

&lt; < meno di
&gt; > maggiore di
&amp; & e commerciale
&apos; ' apostrofo
&quot; " segno di virgolette

Per evitare il nostro RSS feed produce un errore, dobbiamo cambiare tutti i caratteri non validi in un documento RSS con loro i riferimenti a entità. Aggiungere il codice riportato di seguito nel file code-behind della pagina RSS.aspx (rss.aspx.cs):

La funzione di RemoveIllegalCharacters() esegue alcune sostituzioni di stringa semplice, se necessario. Chiameremo questa funzione dalla pagina RSS.aspx poco.


Passaggio 5: Recupero dei dati dal Database

Aggiungere il seguente codice nel gestore eventi Page_Load:

Il codice sopra riportato tenterà di recuperare le dieci notizie più recenti dal database. Esso sarà quindi associarli a un controllo Repeater (RepeaterRSS) quando la pagina viene caricata.


Passaggio 6: Rendering dei dati

Questo è il nostro ultimo passo. È il momento di eseguire il rendering di elementi dalla tabella News in un appropriato file di syndication RSS 2.0. Il modo più semplice e veloce per visualizzare i dati del database in formato XML consiste nell'utilizzare un controllo Repeater (RepeaterRSS). In particolare, il ripetitore visualizzerà il <rss>, <channel>, ed il sito Web relativo tag dell'elemento nei propri modelli HeaderTemplate e FooterTemplate e la <item> elementi nel modello ItemTemplate. Non dimenticare di chiamare l'helper RemoveIllegalCharacters() funzione per sostituire i caratteri indesiderati dall'output della stringa.

Di seguito è riportato la parte HTML della nostra pagina Web ASP.NET (RSS.aspx):

La prima cosa interessante notare qui è che il file RSS.aspx precedente contiene solo il controllo Repeater (RepeaterRSS) e nessun altro markup HTML o controlli Web. Questo è perché vogliamo che la pagina per emettere nulla ma di output XML. Abbiamo impostato il ContentType della direttiva @Page su "text/xml" per indicare che l'output della pagina RSS.aspx è un documento XML.

Nel modello HeaderTemplate del controllo Repeater, abbiamo posto il <rss> e <channel> elementi.

Successivamente, nel modello ItemTemplate, abbiamo posto gli elementi di <item>, che contengono il <title>, <link> , <author>, <pubDate>, e <description> elementi, come il luogo per campi di database. Chiamiamo la funzione di RemoveIllegalCharacters() quando si aggiungono i campi titolo, autore e descrizione di database per l'output XML. Ricordate, questa funzione semplicemente sostituisce i caratteri XML non validi con loro i riferimenti a entità.

Infine, il campo del database DatePublished, inserito nell'elemento <pubDate>, viene formattato utilizzando il metodo String.Format. L'identificatore di formato standard, R, formatta il valore di DatePublished in modo appropriato secondo la RFC 822, data e ora specifiche. Questo inizia con un'abbreviazione di giorno opzionale di tre lettere e la virgola, seguita da un giorno desiderato, il mese abbreviato di tre lettere e poi l'anno, seguito da un tempo con il nome di fuso orario, ad esempio Gio, 4 novembre 2010 20:50:26 GMT.


il risultato

E ci abbiamo! Con il minimo sforzo, abbiamo creato un feed personalizzato per un'applicazione ASP.NET.

The Resulting Feed

Il codice completo

Il File RSS.aspx

Rss.aspx.cs File

Il File Web.config


Conclusione

Creazione di un RSS feed con ASP.NET è abbastanza semplice, non è vero? Dobbiamo solo capire la specifica RSS 2.0. Oltre a ciò, utilizzando il controllo Repeater .NET, possiamo rendere gli elementi da un database nel documento RSS. Sistemi di gestione più contenuti avrà questa funzionalità per impostazione predefinita. Tuttavia, se sei uno sviluppatore e stanno costruendo un sito Web ASP.NET da zero, ora avete le competenze per costruire il tuo feed personalizzato.

Buon coding!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.