Generieren von C# - Klasse von XML
Kann ich erstellen einer C# - Klasse aus einer XML-Datei?
Mögliche Duplikate von Wie zu generieren .NET 4.0-Klassen aus xsd?
InformationsquelleAutor user496949 | 2010-11-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, über xsd.exe
Hinweise
Antwort wie ändern Sie das Verzeichnis in der Developer-Eingabeaufforderung zu d:\temp nützlich sein kann.
Wenn Sie generiert Klassen, die für multi-dimensionale array, es ist ein Fehler in XSD.exe generator, aber es gibt workarounds.
xsd
führen Sie die Developer-Eingabeaufforderung für VS2013 unter Ihrem Menü "Extras".xsd.exe
finden Sie unter:C:\Program Files (x86)\Microsoft SDKs\Windows
werden gewarnt, wenn Sie haben eine große, komplexe XML-Datei, die die Klasse generiert wird, die so hässlich, dass es fast unbrauchbar 😉
Für mich
xsd.exe
wurde gefunden bei:C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools
InformationsquelleAutor Darin Dimitrov
Wenn Sie arbeiten .NET 4.5-Projekt in VS 2012 (oder neuer), können Sie einfach Spezielle Paste Ihrer XML-Datei als Klassen.
EDIT > Paste Special > Paste XML As Classes
War dieser nach Links aus dem VS 2013?
Ich habe nicht verwendet, VS 2013, aber ich denke, diese Funktion sollte es sein, sicherzustellen, dass Ihr Projekt ausgerichtet ist .NET 4.5 Framework
Dies ist viel schneller als
xsd
, aber die Leistung ist in etwa gleich.Wenn Sie nicht über resharper nutzen, regex ersetzen, mit
public (\w+) (\w+)\r\n +\{\r\n +get\r\n +\{\r\n +return this.*;\r\n +\}\r\n +set\r\n +\{\r\n +this.*;\r\n +\}\r\n +\}\r\n
=>public $1 $2 { get; set; }
und ` privaten \w+ \w+Feld;\r\n\r\n`InformationsquelleAutor miszczu
Zuerst dachte ich, die Paste Special war der Heilige Gral! Aber dann habe ich es ausprobiert und mein Haar wurde weiß wie die Indiana-Jones-Film.
Aber jetzt benutze ich http://xmltocsharp.azurewebsites.net/ und jetzt bin ich so jung wie eh und je.
Hier ein segment von dem, was es erzeugt:
Ich hatte eine xml-Datei, die einige rekursive Beziehungen (vielleicht ist es genannten zirkulären Verhältnis, ich bin mir nicht sicher.) Die anderen versagt, sondern xmltocsharp.azurewebsites.net war sehr erfolgreich, xml.
danke für den website link, ich hatte einen kurzen Blick auf Sie und es sieht aus wie es macht einen viel besseren job als den einfügen, der code sieht sauberer aus, obwohl mein test-xml erstellt, mehr Unterricht, es war viel schöner, zu verwenden.
InformationsquelleAutor D. Kermott
Ich erkennen, dass dies ein ziemlich Alter post und Sie haben wahrscheinlich verschoben.
Aber ich hatte das gleiche problem wie du, also beschloss ich zu schreiben mein eigenes Programm.
Das problem mit dem "xml -> xsd -> Klassen" Strecke für mich war, dass es einfach generiert
ein Stück code, dass war vollständig wartbaren und ich landete turfing.
Es ist in keiner Weise elegant, aber es hat den job für mich.
Du kannst es hier bekommen: Bitte Vorschläge machen, wenn Sie es mögen.
SimpleXmlToCode
Und die Konstruktoren überflüssig sind + Sie sollten Kommentare für den öffentlich sichtbaren Mitglieder
In meiner Verteidigung, es war etwas, was ich schlug zusammen, welche sehr schnell für mich gearbeitet. Ich habe nicht zurück gegangen, aber fühlen Sie sich frei, um einen Beitrag zu den repo-änderungen.
Ich habe mit diesem für ein paar Monate - es ist nicht perfekt, aber es ist sehr nützlich und ich finde es erzeugt sehr viel besser lesbar/einfacher als XML-VS2013 - einfügen als XML. Sehr geschätzt Talon.
InformationsquelleAutor Talon
Sollten Sie überlegen, svcutil (svcutil Frage)
Beide xsd.exe und svcutil arbeiten auf den XML-schema-Datei (.xsd). Ihre XML-konform sein müssen, um eine schema-Datei verwendet werden, indem Sie entweder von diesen beiden tools.
Beachten Sie, dass verschiedene 3rd-party-tools gibt es auch für diese.
InformationsquelleAutor ng5000
Können Sie mit xsd-wie vorgeschlagen-Darin.
Darüber hinaus ist es empfehlenswert, Bearbeiten Sie den test.xsd-Datei zu erstellen, die ein vernünftiges schema.
type="xs:string"
kann geändert werden, umtype="xs:int"
für integer-WerteminOccurs="0"
kann geändert werden, umminOccurs="1"
wo das Feld ist erforderlichmaxOccurs="unbounded"
kann geändert werden, ummaxOccurs="1"
wo nur ein Element ist erlaubtKönnen Sie erstellen erweiterte xsd-s, wenn Sie überprüfen möchten Ihre Daten weiter, aber das wird zumindest geben Ihnen angemessenen Daten-Typen in den generierten c# -.
InformationsquelleAutor Albin Sunnanbo
Verwenden Sie die folgende syntax zum erstellen von schema-Klassen aus XSD-Datei.
InformationsquelleAutor Kiran.Bakwad
Zum konvertieren von XML in einer C# - Klasse:
-- https://marketplace.visualstudio.com
-- xml-class-code-tool
Hinweis: in der fülle der Zeit, diese app ersetzt werden kann, aber die Chancen sind, gibt es dann ein weiteres tool, das nicht die gleiche Sache.
InformationsquelleAutor J Wood