Laden...

DataAdapter -> xml parsen?

Erstellt von Seikilos vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.044 Views
S
Seikilos Themenstarter:in
753 Beiträge seit 2006
vor 15 Jahren
DataAdapter -> xml parsen?

Ich habe eine XSD, diese konnte ich mittels xsd.exe in eine cs Klasse mit allen relevanten Elementen unwandeln, nun fehlt mir aber noch eine Möglichkeit, eine XML in diese Klassen zu parsen.

Es gibt ja wege mit einem SQLDataAdapter und der Fill Methode solche Klassen aus SQL zu generieren (siehe hier ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.en/wd_adonet/html/54333cbf-bb43-4314-a7d4-6dc1dd1c44b3.htm)

Aber wie krieg ich das gleiche mit einer XML Datei die ich in einer Klasse representieren muss=

Life is a short

H
91 Beiträge seit 2007
vor 15 Jahren

Du kannst die Klassen mittels XMLSerializer in XML serialisieren. Das so erstellte XML vailidiert dann auch gegen das Schema. Genauso geht der Weg andersrum - die xml Datei läßt sich deserialisieren und raus kommt genau die Klassenstruktur, die Du aus dem xsd erstellt hast. Dazu macht es Sinn, vor der Deserialisierung das XML auch wieder erst gegen das Schema zu validieren.

==============================
heute schon numerics gehabt? Dann nichts wie
hin zu : ILNumerics.Net - numerics for .NET

S
Seikilos Themenstarter:in
753 Beiträge seit 2006
vor 15 Jahren

Ha, hab das vorhin auch entdeckt, aber danke für die Bestätigung, ersparrt mir ne Menge idiotischer Tipparbeit 😠

🙂

Edit: wieso vor DeSer validieren? Das XML kommt ja nicht von mir

Life is a short

H
91 Beiträge seit 2007
vor 15 Jahren

wieso vor DeSer validieren? Das XML kommt ja nicht von mir

... na dann erst recht! Damit es in die Klassen "passt", muß es natürlich gegen das Schema validieren...

==============================
heute schon numerics gehabt? Dann nichts wie
hin zu : ILNumerics.Net - numerics for .NET

S
Seikilos Themenstarter:in
753 Beiträge seit 2006
vor 15 Jahren

gibt es eigentlich einen String Serializer für generierte Klassen? XML macht der XmlSerializer, das ist super, aber gibts auch einen Serializer, der es in eine CSV datei schreiben könnte?

Life is a short

H
91 Beiträge seit 2007
vor 15 Jahren

aber gibts auch einen Serializer, der es in eine CSV datei schreiben könnte?

Da würde mir spontan XSLT einfallen. Damit machst Du aus dem generierten XML ein beliebiges anderes Format. Hängt allerdings davon ab, ob Deine Klassenstruktur sich für ein so flaches Format wie csv eignet?

==============================
heute schon numerics gehabt? Dann nichts wie
hin zu : ILNumerics.Net - numerics for .NET

S
Seikilos Themenstarter:in
753 Beiträge seit 2006
vor 15 Jahren

Werde ich testen, danke.
Auf jeden Fall hab ich keine zirkulären Abhängigkeiten.
Aber ist nicht alles XML in jedes beliebige Format überführbar? Ich mein XML ist doch auch linear

Life is a short

H
91 Beiträge seit 2007
vor 15 Jahren

Weiß nicht genau, was Du mit "linear" meinst. Aber XML ist ein Baum und somit viel komplexer als csv, welches eigentlich doch nur eine Tabelle ist.

==============================
heute schon numerics gehabt? Dann nichts wie
hin zu : ILNumerics.Net - numerics for .NET

S
Seikilos Themenstarter:in
753 Beiträge seit 2006
vor 15 Jahren

Hallo,

ich habe noch eine Frage zu XSLT, ich weiß nun, wo die Probleme mit ner Linearisierung einer Baumstruktur liegen 😁

Meine Frage, ich definiere ja quasi n Schema, anhand welcher XSLT die Daten serialisiert, soweit ok. Ich kann dann meine Elemente nach dem Schema


ElementA|ElementB|ElementC

serialisieren, damit habe ich eine nette csv Datei.

Was ich aber noch nicht begriffen habe, kann ich in dem Schema Metainformationen definieren?
Das Schema da oben füllt mir meine 3 XML Elemente brav in eine Reihe, aber kann ich zusätzlich am Anfang der Zeile noch definieren, dass er die Anzahl der Elemente zählen soll?

Life is a short