Exemplarische Vorgehensweise: Einlesen von XML-Daten in ein Dataset
Veröffentlicht: Juli 2016
ADO.NET stellt einfache Methoden für die Arbeit mit XML-Daten bereit. In dieser exemplarischen Vorgehensweise erstellen Sie eine Windows-Anwendung, durch die XML-Daten in ein Dataset geladen werden. Das Dataset wird anschließend in einer DataGridView angezeigt. Schließlich wird in einem Textfeld ein XML-Schema angezeigt, das auf dem Inhalt der XML-Datei basiert.
Diese exemplarische Vorgehensweise umfasst fünf Hauptschritte:
Erstellen eines neuen Projekts
Erstellen der in das Dataset einzulesenden XML-Datei
Erstellen der Benutzeroberfläche
Erstellen des Datasets, Lesen der XML-Datei und deren Anzeige in einem DataGridView-Steuerelement
Hinzufügen von Code zum Anzeigen des XML-Schemas auf der Grundlage der XML-Datei in einem TextBox-Steuerelement
Hinweis
Je nach den aktiven Einstellungen oder der Version unterscheiden sich die Dialogfelder und Menübefehle auf Ihrem Bildschirm möglicherweise von den in der Hilfe beschriebenen. Wählen Sie im Menü Extras die Option Einstellungen importieren und exportieren aus, um die Einstellungen zu ändern. Weitere Informationen finden Sie unter Customizing Development Settings in Visual Studio.
Erstellen eines neues Projekts
In diesem Schritt erstellen Sie ein Visual Basic- oder ein Visual C#-Projekt, das auf dieser exemplarischen Vorgehensweise basiert.
So erstellen Sie das neue Windows-Projekt
Erstellen Sie über das Menü Datei ein neues Projekt.
Geben Sie dem Projekt den Namen
ReadingXML
.Wählen Sie Windows-Anwendung aus, und klicken Sie auf OK. Weitere Informationen finden Sie unter Clientanwendungen.
Das Projekt ReadingXML wird erstellt und zum Projektmappen-Explorer hinzugefügt.
Erstellen der in das Dataset einzulesenden XML-Datei
Da diese exemplarische Vorgehensweise das Einlesen von XML-Daten in ein Dataset behandelt, wird der Inhalt einer XML-Datei bereitgestellt.
So erstellen Sie die in das Dataset einzulesende XML-Datei
Klicken Sie im Menü Projekt auf Neues Element hinzufügen.
Wählen Sie XML-Datei aus, nennen Sie die Datei
authors.xml
, und klicken Sie auf Hinzufügen.Die XML-Datei wird in den Designer geladen und steht zur Bearbeitung bereit.
Fügen Sie den folgenden Code in den Editor unter der XML-Deklaration 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>
Zeigen Sie im Menü Datei auf authors.xml speichern.
Erstellen der Benutzeroberfläche
Die Benutzeroberfläche für diese Anwendung besteht aus folgenden Steuerelementen:
Ein DataGridView-Steuerelement, das den Inhalt der XML-Datei in Form von Daten anzeigt
Ein TextBox-Steuerelement, das das XML-Schema für die XML-Datei anzeigt
Zwei Button-Steuerelemente
Über eine Schaltfläche wird die XML-Datei in das Dataset eingelesen und im DataGridView-Steuerelement angezeigt.
Mit einer zweiten Schaltfläche wird das Schema aus dem Dataset extrahiert und über einen StringWriter im TextBox-Steuerelement angezeigt.
So fügen Sie dem Formular Steuerelemente hinzu
Öffnen Sie
Form1
in der Entwurfsansicht.Ziehen Sie folgende Steuerelemente aus der Toolbox auf das Formular:
Ein DataGridView-Steuerelement
Ein TextBox-Steuerelement
Zwei Button-Steuerelemente
Legen Sie die folgenden Eigenschaften fest:
Steuerelement Property Einstellung TextBox1
Multiline true
ScrollBars Vertikal Button1
Name ReadXmlButton
Text XML lesen
Button2
Name ShowSchemaButton
Text Schema anzeigen
Erstellen des Datasets, das die XML-Daten empfängt
In dieser nächsten Prozedur wird das neue Dataset authors
erstellt. Weitere Informationen über Datasets finden Sie unter Arbeiten mit Datasets in Visual Studio.
So erstellen Sie ein neues Dataset, das die XML-Daten empfängt
Wählen Sie in Projektmappen-Explorer die Quelldatei für Form1 aus, und klicken Sie auf der Symbolleiste Projektmappen-Explorer auf die Schaltfläche Ansicht-Designer.
Ziehen Sie ein Dataset aus der Toolbox, Registerkarte "Daten" auf Form1.
Wählen Sie im Dialogfeld DataSet hinzufügenNicht typisiertes DataSet und klicken Sie dann auf OK.
DataSet1 wird der Komponentenleiste hinzugefügt.
Legen Sie im Eigenschaftenfenster die Name-Eigenschaft und die DataSetName-Eigenschaft auf
AuthorsDataSet
fest.
Erstellen des Ereignishandlers zum Einlesen der XML-Daten in das Dataset
Mit der Schaltfläche XML lesen wird die XML-Datei in das Dataset eingelesen. Außerdem werden die Eigenschaften für das DataGridView-Steuerelement festgelegt, mit der die Bindung an das Dataset erstellt wird.
So fügen Sie dem ReadXmlButton_Click-Ereignishandler Code hinzu
Wählen Sie im Projektmappen-Explorer die Option Form1 aus, und klicken Sie auf der Symbolleiste Projektmappen-Explorer auf die Schaltfläche Designer-Ansicht.
Doppelklicken Sie auf die Schaltfläche XML lesen.
Der Code-Editor wird beim
ReadXmlButton_Click
-Ereignishandler geöffnet.Geben Sie den folgenden Code in den
ReadXmlButton_Click
-Ereignishandler ein:private void ReadXmlButton_Click(object sender, EventArgs e) { string filePath = "Complete path where you saved the XML file"; AuthorsDataSet.ReadXml(filePath); dataGridView1.DataSource = AuthorsDataSet; dataGridView1.DataMember = "authors"; }
Private Sub ReadXmlButton_Click() Handles ReadXmlButton.Click Dim filePath As String = "Complete path where you saved the XML file" AuthorsDataSet.ReadXml(filePath) DataGridView1.DataSource = AuthorsDataSet DataGridView1.DataMember = "authors" End Sub
Ändern Sie im
ReadXMLButton_Click
-Ereignishandlercode denfilepath =
-Eintrag in den richtigen Pfad.
Erstellen des Ereignishandlers zum Anzeigen des Schemas im Textfeld
Mit der Schaltfläche Schema anzeigen wird ein StringWriter-Objekt erstellt, das mit dem Schema gefüllt und in TextBox angezeigt wird.
So fügen Sie dem ShowSchemaButton_Click-Ereignishandler Code hinzu
Wählen Sie im Projektmappen-Explorer die Option Form1 aus, und klicken Sie auf die Schaltfläche Ansicht-Designer.
Doppelklicken Sie auf die Schaltfläche Schema anzeigen.
Der Code-Editor wird beim
ShowSchemaButton_Click
-Ereignishandler geöffnet.Geben Sie den folgenden Code in den
ShowSchemaButton_Click
-Ereignishandler ein.private void ShowSchemaButton_Click(object sender, EventArgs e) { System.IO.StringWriter swXML = new System.IO.StringWriter(); AuthorsDataSet.WriteXmlSchema(swXML); textBox1.Text = swXML.ToString(); }
Private Sub ShowSchemaButton_Click() Handles ShowSchemaButton.Click Dim swXML As New System.IO.StringWriter() AuthorsDataSet.WriteXmlSchema(swXML) TextBox1.Text = swXML.ToString End Sub
Testen
Sie können das Formular jetzt testen und prüfen, ob es sich wie wie erwartet verhält.
So testen Sie das Formular
Drücken Sie F5, um die Anwendung auszuführen.
Klicken Sie auf die Schaltfläche XML lesen.
In der DataGridView wird der Inhalt der XML-Datei angezeigt.
Klicken Sie auf die Schaltfläche Schema anzeigen.
Im Textfeld wird das XML-Schema für die XML-Datei angezeigt.
Nächste Schritte
Diese exemplarische Vorgehensweise behandelt die Grundlagen für das Einlesen einer XML-Datei in ein Dataset sowie für das Erstellen eines Schemas, das auf dem Inhalt der XML-Datei basiert. Die folgenden Aufgaben könnten sich daran anschließen:
Bearbeiten der Daten im Dataset und Zurückschreiben der Daten als XML. Weitere Informationen finden Sie unter WriteXml.
Bearbeiten der Daten im Dataset und Zurückschreiben der Daten in eine Datenbank. Weitere Informationen finden Sie unter Speichern von Daten.
Siehe auch
Exemplarische Vorgehensweisen zur Arbeit mit Daten
Zugreifen auf Daten in Visual Studio
Vorbereiten der Anwendung auf den Empfang von Daten
XML-Tools in Visual Studio