prev up next

XML vom Microsoft SQL Server 2000

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)


XML-Baum als Tabelle, erstellt von OPENXML

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, elements
Hierbei 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>


prev up next