Der Microsoft SQL-Server 2000 unterstützt XML sowohl bei der Überführung von XML-Dokumenten in die Datenbank als auch bei der Wiedergabe von Tabellendaten in XML-Notation.
Durch Aufruf der stored procedure sp_xml_prepare_document kann der wohlgeformte Inhalt eines XML-Strings in eine interne Darstellung überführt werden. Durch Aufruf von OPENXML kann der Inhalt des XML-Baums als Rowset geliefert werden. Listing 10.15 zeigt den gesamten Aufruf, Abbildung 10.2 zeigt die erzeugte Tabelle.
Listing 10.15: Aufruf von OPENXML (HTML-Source)
Der Inhalt der von OPENXML gelieferten Tabelle kann mit Hilfe eines INSERT-Statements in eine bestehende Datenbanktabelle eingefügt werden. Hierbei müssen über das Schlüsselwort WITH die zu verwendenden Spaltentypen angegeben werden. Dem OPENXML-Kommando wird durch die Flagge 1 eine attributbezogene, durch die Flagge 2 eine elementbezogene XML-Struktur signalisiert. Listing 10.16 zeigt den kompletten Ablauf.
Listing 10.16: Einfügen mit Hilfe von OPENXML (HTML-Source)
Eine Ausgabe von Tabelleninhalten in geschachtelter XML-Notation ist beim SQL-Server 2000 möglich im Rahmen einer erweiterten SQL-Syntax:
select persnr, name from professoren where rang='C3' for xml auto, elementsHierbei wird für jede Zeile aus dem Result-Set ein Tupel erzeugt, welches geklammert wird durch Tags mit dem Namen der Tabelle. Jede Spalte des Result-Set wird geklammert durch Tags mit dem Namen der Spalte:
<professoren><persnr>2127</persnr><name>Kopernikus</name></professoren> <professoren><persnr>2134</persnr><name>Augustinus</name></professoren>