Ein ideales Duo: ADO.NET und XML

Veröffentlicht: 30. Mrz 2004 | Aktualisiert: 15. Nov 2004

Von Jürgen Mauerer

Im Unterschied zu ADO kann man bei ADO.NET fast jedes beliebige XML-Dokument in ein DataSet-Objekt einlesen. Das DataSet legt beim Laden des XML-Dokuments mit Hilfe der XmlReader-Technik für jedes Element eine Tabelle an und verknüpft die jeweils untergeordneten Elemente. Dabei wird während des Einlesens automatisch eine Definition oder XSD (XML Schema Definition) für die XML-Daten generiert, die von der Struktur des XML-Dokuments abgeleitet ist. Durch Verwendung eines XSD-Schemas kann man Daten verlustfrei zwischen einem DataSet und einem XML-Dokument hin- und herkonvertieren.

Auch eine benutzerdefinierte XSD ist möglich. Hier kann der Nutzer selbst bestimmen, welche Felder aus der XML-Datei in das DataSet übernommen werden. Das Dokument enthält dann nur die von der XSD definierten Daten. Alle anderen Daten im XML-Dokument werden nicht ausgegeben.

Eine wichtige Rolle spielt das XmlDataDocument-Objekt. Mit dessen Hilfe lässt sich der Inhalt eines DataSet über das XML Document Object Modell (DOM) bearbeiten. Der Konstruktor der XmlDataDocument-Klasse wird dabei mit einem DataSet-Objekt aufgerufen. Danach wirken alle Änderungen im XmlDataDocument-Objekt sofort auf das DataSet und umgekehrt, die Integration zwischen dem XmlDataDocument und einem DataSet ist also bidirektional. Bevor Sie ein XmlDataDocument-Objekt beschreiben können, müssen Sie im zugehörigen DataSet die Konsistenzprüfungen ausschalten.

Im Endeffekt kann der Entwickler mit ADO.NET die Daten mit Hilfe des DataSet in tabellarischer Form und über das XmlDataDocument-Objekts gleichzeitig in hierarchischer Form anzeigen. Über das XSD lässt sich genau steuern, welche Daten aus dem XmlDataDocument über das DataSet bereitgestellt werden.

ADO.NET und XML
In der Vergangenheit gab es nur eine eher dürftige Verbindung zwischen den traditionellen Datenzugriffstechnologien und XML. Mit ADO.NET und dem XmlDataDocument-Objekt steht Entwicklern nun das Beste aus beiden Welten zur Verfügung. Dieser Artikel führt Schritt für Schritt durch das Lesen und Schreiben von XML-Dateien mithilfe eines DataSet.

XML-Features in ADO.NET
ADO.NET unterstützt nicht nur die traditionellen tabellarischen Datenansichten, sondern integriert auch XML. Die Metasprache und ihre verwandten Technologien wie XPath, XSLT und XML Schemas gehören zur Basis von ADO.NET. Dieser englischsprachige Artikel zeigt, was es mit der Beziehung zwischen ADO.NET und XML auf sich hat.

XML und das DataSet
Das DataSet legt beim Laden des XML-Dokuments mit Hilfe der XmlReader-Technik für jedes Element eine Tabelle an und verknüpft die jeweils untergeordneten Elemente. Diese Überblicksseite führt in das Verhältnis von XML und ADO.NET ein und bietet Links auf Artikel, die sich mit speziellen Aspekten des Themas befassen. In englischer Sprache.

XML, relationale Daten und ADO.NET
Mit dem XmlDataDocument-Objekt lässt sich der Inhalt eines DataSet über das XML Document Object Modell (DOM) bearbeiten. Es bildet damit eine Brücke zwischen dem relationalen und dem hierarchischen Datenbank-Modell. Dieser Artikel beschreibt das XmlDataDocument-Objekt. In englischer Sprache.

Ein DataSet mit XML-Daten füllen
Dieser englischsprachige Artikel zeigt, wie Sie ein DataSet mit Hilfe der ReadXml-Methode füllen.

pfeilrechts.gif Merkmale von ADO.NET
pfeilrechts.gif Das ist XML
pfeilrechts.gif Ein ideales Duo: ADO.NET und XML