Lesen von XML-Daten in ein Dataset in .NET Framework-Anwendungen
Hinweis
Datasets und verwandte Klassen sind ältere .NET-Technologien aus den frühen 2000er Jahren, die es Anwendungen ermöglichen, mit Daten im Arbeitsspeicher zu arbeiten, während die Anwendungen von der Datenbank getrennt sind. Die Technologien sind besonders nützlich für Anwendungen, die es Benutzern ermöglichen, Daten zu ändern und die Änderungen wieder in der Datenbank zu speichern. Obwohl sich Datasets als sehr erfolgreiche Technologie erwiesen haben, empfehlen wir, dass neue .NET-Anwendungen Entity Framework Core verwenden. Entity Framework bietet eine natürlichere Möglichkeit, mit tabellarischen Daten als Objektmodelle zu arbeiten, und verfügt über eine einfachere Programmierschnittstelle.
ADO.NET bietet einfache Methoden zum Arbeiten mit XML-Daten. In dieser exemplarischen Vorgehensweise erstellen Sie eine Windows-Anwendung, die XML-Daten in ein Dataset lädt. Dann wird das Dataset in einem DataGridView-Steuerelement angezeigt. Abschließend wird ein auf dem Inhalt der XML-Datei basierendes XML-Schema in einem Textfeld angezeigt.
Voraussetzungen
Um dieses Tutorial abzuschließen, müssen Sie Visual Studio mit den folgenden Workloads installiert haben:
- .NET Desktopentwicklung
- Datenspeicherung und -verarbeitung
Um diese zu installieren, öffnen Sie Visual Studio-Installer und wählen Ändern (oder Weitere>Ändern) neben der Version von Visual Studio aus, die Sie ändern möchten. Weitere Informationen finden Sie im Artikel Ändern von Visual Studio durch Hinzufügen oder Entfernen von Arbeitsauslastungen und Komponenten.
Ein neues Projekt erstellen
Erstellen Sie ein neues Projekt des Typs Windows Forms-App, entweder für C# oder für Visual Basic. Geben Sie dem Projekt den Namen ReadingXML.
Generieren der XML-Datei, die in das Dataset eingelesen werden soll
Da sich diese exemplarische Vorgehensweise auf das Einlesen von XML-Daten in ein Dataset konzentriert, wird der Inhalt einer XML-Datei bereitgestellt.
Wählen Sie im Menü Projekt den Eintrag Neues Element hinzufügen aus.
Wählen Sie XML-Datei aus, geben Sie der Datei den Namen authors.xml, und wählen Sie dann Hinzufügen aus.
Die XML-Datei wird in den Designer geladen und kann bearbeitet werden.
Fügen Sie die folgenden XML-Daten unter der XML-Deklaration in den Editor ein:
<Authors_Table> <authors> <au_id>172-32-1176</au_id> <au_lname>White</au_lname> <au_fname>Johnson</au_fname> <phone>408 496-7223</phone> <address>10932 Bigge Rd.</address> <city>Menlo Park</city> <state>CA</state> <zip>94025</zip> <contract>true</contract> </authors> <authors> <au_id>213-46-8915</au_id> <au_lname>Green</au_lname> <au_fname>Margie</au_fname> <phone>415 986-7020</phone> <address>309 63rd St. #411</address> <city>Oakland</city> <state>CA</state> <zip>94618</zip> <contract>true</contract> </authors> <authors> <au_id>238-95-7766</au_id> <au_lname>Carson</au_lname> <au_fname>Cheryl</au_fname> <phone>415 548-7723</phone> <address>589 Darwin Ln.</address> <city>Berkeley</city> <state>CA</state> <zip>94705</zip> <contract>true</contract> </authors> <authors> <au_id>267-41-2394</au_id> <au_lname>Hunter</au_lname> <au_fname>Anne</au_fname> <phone>408 286-2428</phone> <address>22 Cleveland Av. #14</address> <city>San Jose</city> <state>CA</state> <zip>95128</zip> <contract>true</contract> </authors> <authors> <au_id>274-80-9391</au_id> <au_lname>Straight</au_lname> <au_fname>Dean</au_fname> <phone>415 834-2919</phone> <address>5420 College Av.</address> <city>Oakland</city> <state>CA</state> <zip>94609</zip> <contract>true</contract> </authors> </Authors_Table>
Wählen Sie im Menü Datei den Befehl „authors.xml“ speichern aus.
Erstellen der Benutzeroberfläche
Die Benutzeroberfläche für diese Anwendung umfasst die folgenden Elemente:
Ein DataGridView-Steuerelement, das den Inhalt der XML-Datei als Daten anzeigt.
Ein TextBox-Steuerelement, das das XML-Schema für die XML-Datei anzeigt.
Zwei Button-Steuerelemente.
Eine Schaltfläche liest die XML-Datei in das Dataset ein und zeigt sie im Steuerelement DataGridView an.
Eine zweite Schaltfläche extrahiert das Schema aus dem Dataset und zeigt es über einen StringWriter im Steuerelement TextBox an.
So fügen Sie dem Formular Steuerelemente hinzu
Öffnen Sie
Form1
in der Entwurfsansicht.Ziehen Sie die folgenden Steuerelemente aus der Toolbox auf das Formular:
Ein DataGridView-Steuerelement
Ein TextBox-Steuerelement
Zwei Button-Steuerelemente
Legen Sie die folgenden Eigenschaften fest:
Control Eigenschaft Einstellung TextBox1
Mehrzeilig true
ScrollBars Vertikal Button1
Name ReadXmlButton
Text Read XML
Button2
Name ShowSchemaButton
Text Show Schema
Erstellen des Datasets, das die XML-Daten empfängt
In diesem Schritt erstellen Sie ein neues Dataset mit dem Namen authors
. Weitere Informationen zu Datasets finden Sie unter Datasettools in Visual Studio.
Wählen Sie im Projektmappen-Explorer die Quelldatei für Form1 aus, und klicken Sie dann auf der Symbolleiste des Projektmappen-Explorers auf die Schaltfläche Designer anzeigen.
Ziehen Sie ein Dataset aus der Registerkarte „Daten“ der Toolbox auf Form1.
Wählen Sie im Dialogfeld Dataset hinzufügen die Option Nicht typisiertes Dataset und dann OK aus.
DataSet1 wird der Komponentenleiste hinzugefügt.
Legen Sie im Fenster Eigenschaften die Eigenschaften Name und DataSetName für
AuthorsDataSet
fest.
Erstellen des Ereignishandlers zum Einlesen der XML-Datei in das Dataset
Die Schaltfläche XML lesen liest die XML-Datei in das Dataset ein. Anschließend werden Eigenschaften für das Steuerelement DataGridView festgelegt, die es an das Dataset binden.
Wählen Sie im Projektmappen-Explorer das Element Form1 aus, und klicken Sie dann auf der Symbolleiste des Projektmappen-Explorers auf die Schaltfläche Designer anzeigen.
Doppelklicken Sie auf die Schaltfläche XML lesen.
Der Code-Editor öffnet sich beim Ereignishandler
ReadXmlButton_Click
.Kopieren Sie den folgenden Code in den Ereignishandler
ReadXmlButton_Click
:Ändern Sie im Code des Ereignishandlers
ReadXMLButton_Click
den Eintragfilepath =
in den richtigen Pfad.
Erstellen des Ereignishandlers zum Anzeigen des Schemas im Textfeld
Die Schaltfläche Schema anzeigen erstellt ein StringWriter-Objekt, das mit dem Schema aufgefüllt und im Steuerelement TextBox angezeigt wird.
Wählen Sie im Projektmappen-Explorer das Element Form1 und dann die Schaltfläche Designer anzeigen aus.
Doppelklicken Sie auf die Schaltfläche Schema anzeigen.
Der Code-Editor öffnet sich beim Ereignishandler
ShowSchemaButton_Click
.Fügen im
ShowSchemaButton_Click
-Ereignishandler den folgenden Code ein.
Testen des Formulars
Sie können das Formular jetzt testen, um sicherzustellen, dass das Verhalten wie erwartet ausfällt.
Drücken Sie F5, um die Anwendung auszuführen.
Klicken Sie auf die Schaltfläche XML lesen.
„DataGridView“ zeigt den Inhalt der XML-Datei an.
Wählen Sie die Schaltfläche Schema anzeigen aus.
Das Textfeld zeigt das XML-Schema für die XML-Datei an.
Nächste Schritte
In dieser exemplarischen Vorgehensweise haben Sie die Grundlagen des Einlesens einer XML-Datei in ein Dataset kennengelernt und erfahren, wie Sie ein Schema auf Grundlage des Inhalts der XML-Datei erstellen. Im Folgenden sind einige Aufgaben aufgeführt, die Sie als Nächstes ausführen können:
Bearbeiten Sie die Daten im Dataset, und geben Sie sie als XML zurück. Weitere Informationen finden Sie unter WriteXml.
Bearbeiten Sie die Daten im Dataset, und schreiben Sie sie in eine Datenbank.