Laden...

XML auslesen und Klasse erstellen

Erstellt von Tellerwäscher vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.739 Views
T
Tellerwäscher Themenstarter:in
29 Beiträge seit 2009
vor 15 Jahren
XML auslesen und Klasse erstellen

Hallo,

ich bin neu hier und habe eine Frage zu einen Projekt von mir.

Ist es möglich, dass ich aus einer XML Datei (Beschreibt durch Attribute den Inhalt einer Klasse oder Strukur), automatisch eine *.cs Datei erstellen kann ?

Also in der XML Datei steht z.b.

<struktur name="Haus">
<parameter type="bool" name="Tür" />
<parameter type="int" name="Fenster" />
</struktur>

daraus soll die Klasse Haus.cs erstellt werden z.b. so

 
class Haus
{
  bool Tür;
  int Fenster;
}

Danke für eure Hilfe ..

456 Beiträge seit 2007
vor 15 Jahren

Automatisch sicherlich nicht. Möchtest Du
1.) die Datei (.cs) physikalisch auf der Platte haben oder
2.) mit dem Objekt sofort kommunizieren?

1.) Code-Generatoren manuell füttern (also XML auslesen und mappen), bzw. schreit das hier nach XSLT
2.) CodeDom

T
Tellerwäscher Themenstarter:in
29 Beiträge seit 2009
vor 15 Jahren

Ich möchte die Datei physikalisch auf der Platte haben. bzw. es soll also Quellcode am Ende erstellt werden ..

3.003 Beiträge seit 2006
vor 15 Jahren

Ich möchte die Datei physikalisch auf der Platte haben. bzw. es soll also Quellcode am Ende erstellt werden ..

Dann...

1.) [..] schreit das hier nach XSLT

...gibt's dazu nichts weiter zu sagen.

LaTino

"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)

T
Tellerwäscher Themenstarter:in
29 Beiträge seit 2009
vor 15 Jahren

sorry ich bin da nicht so sehr Firm .. kann mir das einer etwas näher erklären .. !?!?

3.003 Beiträge seit 2006
vor 15 Jahren

XSLT definiert, wie die in XML gespeicherten Daten dargestellt ("transformiert") werden. In deinem Fall würde dein XSLT sinngemäß also sagen:

für Knoten mit dem Namen "struktur" schreibe "class " und hänge an die Zeile den Wert des Attributs "name" des Knotens (im Beispiel "Haus") an. Für Kindknoten mit dem Namen Parameter schreibe deren Attributwert des Attributs "type" und danach den Attributwert des Attributs "name", dann ein Semikolon.

Und so weiter.

http://de.selfhtml.org/xml/darstellung/xslgrundlagen.htm

Viel Spass.

LaTino

"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)

R
234 Beiträge seit 2007
vor 15 Jahren

Es gibt auch noch das Tool XSD von Microsoft. Damit lässt sich auf diverse Arten zwischen XSD-, XML- und Code-Dateien konvertieren. Siehe auch MSDN: XML Schema Definition-Tool (Xsd.exe)

Es bietet beispielsweise die Möglichkeit aus XML ein XSD zu machen, welches sich wiederum in Code übersetzen lässt.

T
Tellerwäscher Themenstarter:in
29 Beiträge seit 2009
vor 15 Jahren

Ich habe jetzt aus meiner XML Datei eine XSD gemacht. Wie gehe ich nun weiter vor ..

R
234 Beiträge seit 2007
vor 15 Jahren

Schau dir mal die Beispiel in dem von mir geposteten Link an bzw. lies dir den Artikel mal durch.

/Edit: Vielleicht hilft dir MSDN: Gewusst wie: Mit dem XML Schema Definition-Tool Klassen und XML-Schemadokumente generieren auch noch weiter.

T
Tellerwäscher Themenstarter:in
29 Beiträge seit 2009
vor 15 Jahren

Wo finde ich denn bei VS-Express die angesprochene Eingabeaufforderung ?

R
234 Beiträge seit 2007
vor 15 Jahren

Das weiß ich nicht. Im .Net 2.0 SDK ist es auf jeden Fall enthalten. Das kannst du hier runterladen.

199 Beiträge seit 2006
vor 15 Jahren

Wo finde ich denn bei VS-Express die angesprochene Eingabeaufforderung ?

Mit Eingabeaufforderung ist in dem Artikel wirklich die ganze normale Eingabeaufforderung gemeint. Also Kommandozeile, Commandbox, Eingabeaufforderung oder wie man sie auch nennen mag. (Ausführen cmd.exe)

Das Programm xsd.exe selbst sollte entweder beim .NET SDK oder beim Visual Studio SDK dabei sein. Bin mir da jetzt nicht ganz sicher.

T
Tellerwäscher Themenstarter:in
29 Beiträge seit 2009
vor 15 Jahren

Danke für die Anworten !!!

Gibts noch andere möglichkeiten einzelne *.cs dateien zu erstellen, als immer durch die Eingabeaufforderung das xsd.exe zu öffnen und ihr die *.xsd datei zu geben?
Kann man das nicht auch über den VS-Editor machen also es am Ende per GUI zu übergeben und in einem bestimmten Verzeichniss die Ausgaben (fertige *.cs) Dateien zu haben ... ??

T
Tellerwäscher Themenstarter:in
29 Beiträge seit 2009
vor 15 Jahren

Ich kann ja auch aus der *.xsd ein Dataset generieren. Wie kann ich das dann nutzen ?