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

Wie man einen RSS-Feed mit ASP.NET bauen.

by
Length:LongLanguages:

German (Deutsch) translation by Wilhelm Wolf (you can also view the original English article)

Im Laufe dieses Tutorials werden wir prüfen, wie ein RSS-Feed mit den ASP.NET Rahmen. Mit einem RSS-feed für Ihre Website zu einer Notwendigkeit geworden in den letzten Jahren. Mit blogs oder news-sites werden Häufig aktualisiert, und mit der großen Menge von blogs und news-websites dort draußen, RSS erlaubt hat, die Leser zu halten mit neuen Inhalten, ohne gezwungen Sie zu besuchen. Sobald Sie dieses tutorial abgeschlossen haben, werden Sie wissen, wie man einen RSS-feed erstellen mit ASP.NET und wie zum Rendern von XML-Dokumenten auf ASP.NET Web-Seiten.


Schritt 0: das RSS-2.0-Einführung

RSS ist ein web-content-syndication-format. Es steht für "Really Simple Syndication" und ist in XML geschrieben. Alle RSS Dateien müssen konform zum XML-1.0-Spezifikation, veröffentlicht von der World Wide Web Consortium (W3C). Mit RSS ist es möglich zu verbreiten up-to-date web-Inhalte von einer Website zu tausenden von anderen auf der ganzen Welt. Zur Vereinfachung der Begriff, RSS-ermöglicht schnelles surfen für news und updates.

Die syntax-Regeln von RSS 2.0 sind einfach, aber streng. Hier ist ein einfacher RSS-Dokument:

Die erste Zeile im Dokument die XML-Deklaration - definiert die XML-version und die Zeichenkodierung im Dokument verwendet werden. In diesem Fall wird das Dokument entspricht der 1.0-Spezifikation von XML und verwendet die utf-8-Zeichensatz. Die nächste Zeile ist der RSS-Deklaration, die identifiziert, das ist in der Tat ein RSS-Dokument (genauer gesagt, eine RSS-version 2.0).

Die nächste Zeile enthält das - element. Dieses element wird verwendet, um zu beschreiben, den RSS-feed. Das - element hat drei erforderliche untergeordnete Elemente:

  • - Legt den Titel des Kanals (z.B. Ihre Website-name)
  • - Definiert den hyperlink, um den Kanal (z.B. http://www.yourdomain.com)
  • - Beschreibung des Kanals (z.B. Kostenloser RSS-Tutorial)

Jedes - element kann mit einem oder mehreren Elementen. Jedes - element definiert einen Artikel oder "story" in den RSS-feed.

Der - element erfordert drei child-Elemente:

  • - Legt den Titel der Nachricht (z.B. Erste Artikel)
  • - Definiert den hyperlink auf den Artikel (z.B. http://www.yourdomain.com/article.aspx?ID=1)
  • - Beschreibung des Elements (z.B. Die Beschreibung des ersten Artikels)

Bei der Anzeige in Firefox ist, das RSS-Dokument oben Aussehen sollte:

RSS document

Schritt 1: Erste Schritte

Um diesem tutorial zu Folgen, stellen Sie sich vor, Sie arbeiten als web-Entwickler, und bauen eine news-website, wo alle Nachrichten werden gespeichert in der Microsoft SQL Server-Datenbank. Insbesondere die Artikel werden in einer Tabelle namens News, die enthält die folgenden Felder:

  • ArticleID - eine auto-increment primary key integer-Feld eindeutig identifiziert jeden Artikel
  • Titel - vom Datentyp nvarchar(256), die Angabe des Titels des Artikels
  • Autor - ein nvarchar(50), der angibt, der Autor des Artikels
  • Beschreibung - ein vom Datentyp nvarchar(500), bietet eine eingehende Beschreibung des Artikels
  • DatePublished - ein datetime-Wert, der angibt, das Datum der Artikel veröffentlicht wurde

Beachten Sie, dass es möglicherweise andere Felder in der News-Tabelle, aber die oben aufgeführten sind die einzigen, die wir daran interessiert sind -- zumindest für die Zwecke der RSS-feed.

Wir verwenden Visual Studio, um beenden Sie das Beispiel. Wenn Sie nicht die volle version von VS können Sie schnappen Sie sich die Kostenlose Express Edition.


Schritt 2: Erstellen eines rss -.aspx-Seite

Unser Nächster Schritt ist die Erstellung einer ASP.NET Web-Seite (rss-Feeds.aspx) angezeigt wird eine Liste der aktuellsten Neuigkeiten, wie eine korrekt formatierte RSS 2.0-Dokument. Im Projektmappen-Explorer mit der rechten Maustaste auf den Projektnamen, und klicken Sie dann auf Neues Element Hinzufügen. In thia Dialogfeld unter von Visual Studio installierte Vorlagen klicken Sie auf Web Form.

Add New Page

Im Feld Name geben Sie einen Namen für das neue Web-Seite (rss-Feeds.aspx), und klicken Sie dann auf Hinzufügen. Die neue ASP.NET web-Seite (rss-Feeds.aspx) erstellt und angezeigt, entsprechend.

Weil wir wollen, dass die rss.aspx-Seite zu erzeugen, XML-Ausgabe, die erste Sache, die wir tun müssen, ist entfernen Sie alle HTML-markup oder web-Steuerelemente auf der Seite, und legen Sie dann die ContentType-Eigenschaft @page-Direktive auf "text/xml".

Nach dem löschen alle HTML Tags aus rss.aspx-Seite, fügen Sie ein Repeater-Steuerelement in die Seite. Wir verwenden Repeater-Steuerelement zum Rendern RSS-Dokument auf rss.aspx-Seite.

Hier ist der source-Ansicht des rss.aspx-Seite, nachdem wir einige Veränderungen vorgenommen haben:


Schritt 3: Einrichten Der Connection-String

Als Nächstes wollen wir-setup den connection-string der Datenquelle in der Web.config-Datei. Durch das speichern der Verbindungszeichenfolge Informationen, wir werden vermeiden, hart-code in der code-behind-Datei. Dies vereinfacht die Dinge, wenn die Verbindungszeichenfolge Informationen zu änderungen in der Zukunft. Legen Sie es in den - Abschnitt unter Konfiguration-element, etwa so:

Wir greifen auf diese Informationen aus dem code-behind-Datei später wenn wir wollen, dass Sie zum abrufen von Daten aus der Datenbank.


Schritt 4: Entfernen Sie ungültige Zeichen aus dem XML-Dokument

Einige Zeichen haben eine Besondere Bedeutung in XML haben. Wenn Sie ein Zeichen wie " < " in ein XML-element, es wird ein Fehler generiert, da der parser interpretiert es als Beginn eines neuen Elements. Um diesen Fehler zu vermeiden, ersetzen Sie die " < " - Zeichen mit seinen entity-Referenz (<).

Es gibt fünf vordefinierte entity-Referenzen in XML:

< < weniger als
> > größer als
& & kaufmännisches und-Zeichen
' ' Apostroph
" " Anführungszeichen

Um zu vermeiden, unseren RSS-feed ein Fehler erzeugt, müssen wir ändern alle ungültigen Zeichen in einem RSS-Dokument mit Ihren entity-Referenzen. Fügen Sie den folgenden code in das code-behind-Datei des rss.aspx-Seite (rss-Feeds.aspx.cs):

Die RemoveIllegalCharacters() Funktion führt ein paar einfache string-Ersetzungen, wenn nötig. Wir rufen diese Funktion über das rss.aspx-Seite in Kürze.


Schritt 5: Abrufen von Daten aus der Datenbank

Fügen Sie den folgenden code in die Page_Load-Ereignishandler:

Der obige code abzurufen, die zehn aktuellsten Neuigkeiten aus Ihrer Datenbank. Es wird dann binden Sie ein Repeater-Steuerelement (RepeaterRSS), wenn die Seite geladen wird.


Schritt 6: Rendern Von Daten

Dies ist unser letzter Schritt. Es ist Zeit zum Rendern von Elementen aus der News-Tabelle in einem entsprechenden RSS 2.0 syndication-Datei. Der einfachste und Schnellste Weg, um die Daten der Datenbank als XML ist die Verwendung eines Repeater-Steuerelements (RepeaterRSS). Insbesondere die Repeater-display das , , und Website-bezogene element-tags in seine HeaderTemplate und FooterTemplate Vorlagen, und die - Elemente in der ItemTemplate-Vorlage. Vergessen Sie nicht, rufen die Helfer RemoveIllegalCharacters () - Funktion zu ersetzen, die unerwünschte Zeichen aus dem string ausgegeben.

Im folgenden ist der HTML-Teil unserer ASP.NET Web-Seite (rss-Feeds.aspx):

Das erste, was erwähnenswert ist hier, dass der rss.aspx-Datei oben enthält nur das Repeater-Steuerelement (RepeaterRSS) und keine anderen HTML-markup oder Web-Steuerelemente. Denn wir wollen, dass die Seite zu emittieren nichts, aber die XML-Ausgabe. Wir setzen den ContentType der @Page-Direktive auf "text/xml", um anzugeben, dass die Ausgabe des rss.aspx-Seite ist ein XML-Dokument.

Im HeaderTemplate Vorlage des Repeater-Steuerelement, legen wir das - und das - Elemente.

Weiter, in der ItemTemplate -, legen wir den - Elemente, die mit der , <link>, <author>, <pubDate> und <description> - Elemente, wie der Platz für die Datenbank-Felder. Wir nennen die RemoveIllegalCharacters () - Funktion, wenn Sie den Titel, Autor und Beschreibung Datenbank-Felder der XML-Ausgabe. Denken Sie daran, diese Funktion einfach ersetzt illegale XML-Zeichen mit Ihren entity-Referenzen.

Endlich, die DatePublished Datenbank-Feld, trat in den - element formatiert ist mithilfe der String.Format-Methode. Die standard Formatbezeichner, R, Formate der DatePublished Wert entsprechend nach RFC 822 -, Datum-und Uhrzeit-Angabe. Dies beginnt mit einem Tag optional dreibuchstabige Abkürzung und Komma, gefolgt von täglich erforderlich, die drei Buchstaben abgekürzt Monat und dann das Jahr, gefolgt von einer Zeit mit der Zeitzone Namen, wie Do, 4. November 2010 20:50:26 GMT.


Das Ergebnis

Und da haben wir es! Mit minimalem Aufwand haben wir erstellt einen benutzerdefinierten RSS-feed für ein ASP.NET -Anwendung.

The Resulting Feed

Der Vollständige Code

Der rss.aspx-Datei

Der rss.aspx.cs-Datei

Die Web -.config-Datei


Fazit

Erstellen eines RSS-Feeds mit ASP.NET ist ganz einfach, nicht wahr? Wir müssen nur verstehen, das der RSS 2.0-Spezifikation. Darüber hinaus wird mit Hilfe der .NET-Repeater-Steuerelement, können wir die render-Objekte aus einer Datenbank in das RSS-Dokument. Die meisten content-management-Systeme haben diese Funktion standardmäßig. Allerdings, wenn Sie ein Entwickler sind, und Sie bauen eine ASP.NET website von Grund auf, Sie haben jetzt die Fähigkeiten, um bauen Sie Ihre eigenen feed.

Happy 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.