XML-Dataset in List einlesen

31/01/2008 - 22:56 von Michaela Meier | Report spam
Hi,

Ich bekomme von einem Webserver ein XML-Dataset mit mehreren Tabellen
geliefert.
Also etwas in der Form
<Dataset>
<T1>
<Info1>A</Info1>
</T1>
<T2>
<Info2>B</Info2>
</T2>
<T3>
<Info3>C</Info3>
</T3>
</Dataset>

Bisher habe ich diese heruntergeladene Datei kurz und schmerzlos mit
DataSet ds= new DataSet();
StreamReader sr = new StreamReader(datei,Encoding.Default);
ds.ReadXml(sr)
eingelesen.
Jetzt möchte ich aber die enthaltenen Tabellen in Listen aufteilen.
z.B. List<T1> Liste1 = new List<T1>();

Nur wie bekomme ich Daten aus der Datei in die jeweiligen Listen?
Muß ich doch den Umweg über das Dataset nehmen und es manuell aufdröseln
oder gibt es dafür eine nette Systemfunktion?

Bitte um arbeitsparende Erleuchtung
Danke :-)
 

Lesen sie die antworten

#1 Frank Dzaebel
31/01/2008 - 23:58 | Warnen spam
Hallo Michaela,

Ich bekomme von einem Webserver ein XML-Dataset mit mehreren Tabellen
geliefert.
Bisher habe ich diese heruntergeladene Datei kurz und schmerzlos mit
DataSet ds= new DataSet(); [...] eingelesen.
Jetzt möchte ich aber die enthaltenen Tabellen in Listen aufteilen.
z.B. List<T1> Liste1 = new List<T1>();
Nur wie bekomme ich Daten aus der Datei in die jeweiligen Listen?



Mit foreach Schleifen (o.à.) durch die
Cells der Rows des DataTable's des DataSet's
iterieren und dort die Werte für die neuen T1 setzen,
dann liste.Add(t1) etc..
Bei nem Webservice wird das DataSet ja auch
höchstwahrscheinlich nicht besonders gross sein.
Da ist das vollkommen ok.

Bei grösseren DataSet's kann man sich überlegen,
ob man das XML benutzerdefiniert direkt
ausliest und dabei on the fly in die Liste(n) schreibt.
Aber normal nicht nötig.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen