Freigeben über


XML Serialisierung - Probleme mit Xsd.exe umgehen

XML (=Extensible Markup Language) ist eine weit verbreitete Metasprache mit der sich beliebige Dateninhalte beschreiben lassen. Mit dem XSD (=XML Schema Definition) Standard existiert auch ein Standard der vorgibt, wie XML Datenstrukturen definiert werden und Grunddatentypen wie Datetime, String, … festlegt.

XML ist ein fester Standard für den Datenaustausch zwischen Anwendungen, speziell Webanwendungen, geworden.

In .NET gibt’s seit der Version 1 die Möglichkeit mit XML sehr einfach umzugehen. Mit der Klasse System.XML.Serialization.XMLSerializer kann man ein Objekt mit seinen Eigenschaften nach XML exportieren. Oder man kann aus einer XML Struktur ganz einfach ein Objekt erzeugen. Das Arbeiten mit einem Objekt ist auch viel effektiver aus Programmiersicht als eine XML Struktur händisch zu parsen.

Wenn man ein Schema hat kann man sich mit dem Kommandozeilen Tool Xsd.exe die entsprechende Klasse für das De-Serialisierungsobjekt erzeugen https://msdn.microsoft.com/en-us/library/x6c1kb0s(VS.71).aspx.

Allerdings scheitert das Xsd.exe Tool an komplexen Schemas und bricht bei der Generierung des Sourcecodes mit Fehlern ab. In solch einer Situation hilft einen das Tool Xsd2Code weiter.

Das Xsd2Code Projekt ist ein Codeplex Projekt https://xsd2code.codeplex.com/ .

Nach der Installation von Xsd2Code kann man das Tool über die Kommandozeile oder direkt aus VisualStudio 2008 nutzen.

image

Wenn man das Tool aus VisualStudio startet, öffnet sich ein Dialog, in dem eine ganze Reihe von Optionen angeboten werden. Mit diesen Optionen kann man die Generierung der Serialisierungsklassen beeinflussen.

image

Als Zielplattform kann man Code für verschiedene Versionen des .NET Frameworks und auch für Silverlight generieren.

GunnarD