Einlesen von XML in ein DataSet
Autor: Dr. Holger Schwichtenberg
' ============================' .NET-Code-Beispiel in Visual Basic .NET' Einlesen von XML in ein DataSet' (C) Holger@Schwichtenberg.de' ============================Sub ADONET_DSXML3() Dim DS As New System.Data.DataSet() Dim fs As FileStream Dim sr As StreamReader Dim DR As DataRow Dim DT As DataTable ' --- Datei öffnen fs = New FileStream("..\DATEN\xml\hs.xml", FileMode.Open, FileAccess.Read) ' --- Datei einlesen sr = New StreamReader(fs) ' --- Stream in DataSet einlesen DS.ReadXml(sr) ' --- Schleife über alle Tabellen out("Tabellen:") For Each DT In DS.Tables out(DT.TableName) For Each REL In DT.ChildRelations out(" - " & REL.ChildTable.TableName) Next Next ' --- Zugriff auf einzelne Tabelle DT = DS.Tables("buch") ' --- Anzahl der Datensätze ausgeben out("Anzahl: " & DT.Rows.Count) ' --- Schleife über alle Datensätze For Each DR In DT.Rows out(DR("Titel").ToString & " erschienen in " & DR("Jahr").ToString) Next ' --- Ausgabe in ein DataGrid Dim f As New FORM_Buchliste() f.DataGrid1.DataSource = DT f.Show() End Sub
using System;using System.Data;using System.Data.OleDb;using System.Xml;using System.IO;using FCL_Buch;namespace FCLBuch._SystemData { public class SamplesADONETXML {public void ADONET_DataSetXML3() { // Einlesen von XML in ein DataSet DataSet ds = new DataSet(); // Datei öffnen FileStream fs = new FileStream( @"..\_DATEN\xml\hs.xml", FileMode.Open, FileAccess.Read ); // Datei einlesen StreamReader sr = new StreamReader( fs ); // Stream in DataSet einlesen ds.ReadXml( sr ); // Schleife über alle Tabellen FclOutput.PrintOutSubHeader("Tabellen:"); foreach ( DataTable dt2 in ds.Tables ) { FclOutput.PrintOut( dt2.TableName ); foreach ( DataRelation rel in dt2.ChildRelations ) { FclOutput.PrintOut( " - " + rel.ChildTable.TableName ); } } // Zugriff auf einzelne Tabelle DataTable dt = ds.Tables["buch"]; // Anzahl der Datensätze ausgeben FclOutput.PrintOut("Anzahl: " + dt.Rows.Count.ToString() ); // Schleife über alle Datensätze foreach ( DataRow dr in dt.Rows ) { FclOutput.PrintOut( dr["Titel"].ToString() + " erschienen in " + dr["Jahr"].ToString() ); } // Ausgabe in ein DataGrid FrmBuchListe frm = new FrmBuchListe(); frm.gridBooks.DataSource = dt; frm.Show(); } }}
Definition '.NET Framework Class Library' Verfügbarkeit der Klasse 'System.Data.DataSet' Übersicht über den FCL-Namensraum 'System.Data' .NET & Visual Studio Community Portal