Dynamisches XML mit dem ASP.NET für RSS

Da dieses Script die Kommunikation mit einer Datenbank sowie mit einer XML-Datei erfordert, muss man gleich am Anfang drei Assemblies importieren: System.Xml, System.Data und System.Data.SqlClient. Als Nächstes wird ein String für die Datenbankverbindung erstellt und die Methode WriteStartDocument() verwendet um das XML-Dokument zu initialisieren. Man beachte die Verwendung der neuen Methode WriteAttributeString(), welche dem Wurzelelement <rss> das Attribut „version“ hinzufügt.

Nach Aufrufen der Methode WriteStartElement() zum Einfügen des Elements <channel> wird die Methode WriteElementString() zum Einfügen von RSS-Elementen verwendet, welche die Art des Feeds beschreiben. Als Nächstes werden eine normale SELECT-Abfrage für die Tabelle „articles“ ausgeführt und ein <item>-Element an den XML-Dokumentenbaum angehängt, eines für jeden Artikel (üblicherweise würde diese Abfrage weitere Einschränkungen enthalten um sicherzustellen, dass nur die neuesten Artikel aus der Datenbank abgerufen werden).

Innerhalb jedes <item>-Elements werden zusätzlich die Elemente <title>, <link>, <description>, <author>, <category> und <pubDate> eingefügt, deren Werte den entsprechenden Feldern der Tabelle „articles“ entnommen werden, wie bereits beschrieben.

Sobald alle Datensätze verarbeitet sind, wird der Ausgabestrom in eine Datei geschrieben um das Ergebnis wie in Listing C zu erzeugen.

Die ordentlich eingerückte Ausgabe rührt von der Eigenschaft „Formatting“ des XmlTextWriter()-Objekts her. Diese Eigenschaft ist eine Enumeration, welche einen von zwei Werten akzeptiert: „Indented“ oder „None“. Falls man ersteren Wert wählt, kann man zusätzlich eine Ganzzahl angeben, die festlegt, um wie viele Leerschritte jede Einrückung erfolgt.

Wie diese beiden Beispiele zeigen, ist dieses Objekt recht intuitiv zu verwenden und erweist sich vor allem dann als nützlich, wenn man XML aus einer externen Datenquelle erstellen will, sei es eine CSV-Datei, eine MS-SQL-Datenbank oder ein Datenstrom. Man sollte also ruhig einmal die vielfältigen Möglichkeiten dieses Objekts ausprobieren.

Page: 1 2 3 4

ZDNet.de Redaktion

Recent Posts

Pentesting für Cloud-Sicherheit

NodeZero Cloud Pentesting identifiziert komplexe Schwachstellen in AWS- und Azure-Umgebungen.

6 Tagen ago

Smartphonemarkt wächst voraussichtlich 6 Prozent in diesem Jahr

Zuwächse erzielen allerdings in erster Linie Smartphones mit dem Google-OS Android. 2025 rechnet IDC mit…

6 Tagen ago

Bericht: Neue Finanzierungsrunde bewertet OpenAI mit mehr als 100 Milliarden Dollar

Als Geldgeber sind Apple, Microsoft und Nvidia im Gespräch. OpenAI sucht angeblich frisches Geld zum…

1 Woche ago

Wieviel Datenschutz bietet mein Device wirklich?

BSI veröffentlicht IT-Sicherheitskennzeichen für mobile Endgeräte. Wirtschaft und Zivilgesellschaft konnten Kriterien dafür mit bestimmen.

1 Woche ago

8 von 10 Unternehmen von IT-Angriffen betroffen

Laut Bitkom-Studie beläuft sich der Gesamtschaden auf rund 267 Milliarden Euro. China werde zum Standort…

1 Woche ago

Google schließt vier schwerwiegende Lücken in Chrome

Sie erlauben unter Umständen eine Remotecodeausführung. Updates stehen für Chrome für Windows, macOS, Linux und…

1 Woche ago