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 ..
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
Ich möchte die Datei physikalisch auf der Platte haben. bzw. es soll also Quellcode am Ende erstellt werden ..
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)
sorry ich bin da nicht so sehr Firm .. kann mir das einer etwas näher erklären .. !?!?
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)
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.
Ich habe jetzt aus meiner XML Datei eine XSD gemacht. Wie gehe ich nun weiter vor ..
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.
Wo finde ich denn bei VS-Express die angesprochene Eingabeaufforderung ?
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.
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 ... ??
Ich kann ja auch aus der *.xsd ein Dataset generieren. Wie kann ich das dann nutzen ?