XML Schema Definition-Tool (Xsd.exe)

Das XML Schema Definition-Tool generiert XML-Schema- oder Common Language Runtime-Klassen aus XDR-, XML- und XSD-Dateien oder aus Klassen in einer Laufzeitassembly.

xsd file.xdr [/outputdir:directory]
xsd file.xml [/outputdir:directory]
xsd file.xsd {/classes | /dataset} [/element:element]
             [/language:language] [/namespace:namespace]
             [/outputdir:directory] [URI:uri]
xsd {file.dll | file.exe} [/outputdir:directory] [/type:typename [...]]
Argument Beschreibung
file.extension Die zu konvertierende Eingabedatei. Geben Sie als extension einen der folgenden Werte an: .xdr, .xml, .xsd, .dll oder .exe.

Wenn Sie eine XDR-Schemadatei angeben (Erweiterung .xdr), konvertiert Xsd.exe das XDR-Schema in ein XSD-Schema. Die Ausgabedatei erhält den Namen des XDR-Schemas mit der Erweiterung .xsd.

Wenn Sie eine XML-Datei angeben (Erweiterung .xml), leitet Xsd.exe ein Schema aus den Daten in der Datei ab und erstellt ein XSD-Schema. Die Ausgabedatei erhält den Namen der XML-Datei mit der Erweiterung .xsd.

Wenn Sie eine XML-Schemadatei angeben (Erweiterung .xsd), generiert Xsd.exe Quellcode für Laufzeitobjekte, die dem XML-Schema entsprechen.

Wenn Sie eine Laufzeitassemblydatei angeben(Erweiterung .exe oder .dll), generiert Xsd.exe Schemas für einen oder mehrere Typen in der Assembly. Geben Sie über die Option /type die Typen an, für die Schemas generiert werden sollen. Die Ausgabeschemas erhalten die Bezeichnungen schema0.xsd, schema1.xsd usw. Xsd.exe erstellt nur dann mehrere Schemas, wenn die angegebenen Typen einen Namespace mit dem benutzerdefinierten XMLRoot-Attribut angeben.

Allgemeine Optionen

Option Beschreibung
/h[elp] Zeigt die Befehlssyntax und Optionen für das Tool an.
/o[utputdir]:directory Gibt das Verzeichnis für Ausgabedateien an. Dieses Argument kann nur einmal angegeben werden. Der Standardwert ist das aktuelle Verzeichnis.
/? Zeigt die Befehlssyntax und Optionen für das Tool an.

XSD-Dateioptionen

Die beiden folgenden Optionen für XSD-Dateien schließen sich gegenseitig aus.

Option Beschreibung
/c[lasses] Generiert Klassen, die dem angegebenen Schema entsprechen. Verwenden Sie die System.XML.Serialization.XMLSerializer.Deserializer-Methode, um XML-Daten in das Objekt einzulesen.
/d[ataset] Generiert eine von DataSet abgeleitete Klasse, die dem angegebenen Schema entspricht. Verwenden Sie die System.Data.DataSet.ReadXml-Methode, um XML-Daten in die abgeleitete Klasse einzulesen.

Zusätzlich können Sie folgende Optionen für XSD-Dateien angeben.

Option Beschreibung
/e[lement]:element Gibt das Element im Schema an, für das Code generiert werden soll. In der Standardeinstellung werden für alle Elemente Typen erstellt. Sie können dieses Argument mehrmals angeben.
/l[anguage]:language Gibt die zu verwendende Programmiersprache an. Wählen Sie zwischen CS (C#, Standard), VB (Visual Basic), JS (JScript) und VJS (Visual J#). Sie können auch den vollständig gekennzeichneten Namen für eine Klasse angeben, die System.CodeDom.Compiler.CodeDomProvider implementiert.
/n[amespace]:namespace Gibt den Laufzeitnamespace für die generierten Typen an. Der Standardnamespace ist Schemas.
/u[ri]:uri Gibt den URI für die Elemente im Schema an, für die Code generiert werden soll. Dieser URI gilt, soweit vorhanden, für alle Elemente, die mit der Option /element angegeben wurden.

DLL- und EXE-Dateioptionen

Option Beschreibung
/t[ype]:typename Gibt den Namen des Typs an, für den ein Schema erstellt werden soll. Sie können mehrere Typargumente angeben. Wenn typename keinen Namespace bezeichnet, verwendet Xsd.exe alle Typen in der Assembly, die mit dem angegebenen Typ übereinstimmen. Wenn typename einen Namespace bezeichnet, wird nur der übereinstimmende Typ verwendet. Wenn typename auf ein Sternchen (*) endet, verwendet das Tool alle Typen, die mit der Zeichenfolge vor * beginnen. Wenn Sie die Option /type nicht angeben, generiert Xsd.exe Schemas für alle Typen in der Assembly.

Hinweise

Xsd.exe führt die folgenden Operationen aus:

  • XDR nach XSD
    Generiert ein XML-Schema aus einer XDR-Schemadatei (XML-Data-Reduced). XDR ist ein früheres XML-Schemaformat.
  • XML nach XSD
    Generiert ein XML-Schema aus einer XML-Datei.
  • XSD nach DataSet
    Generiert DataSet-Klassen der Common Language Runtime aus einer XSD-Schemadatei. Die generierten Klassen stellen ein umfangreiches Objektmodell für reguläre XML-Daten bereit.
  • XSD nach Klassen
    Generiert Laufzeitklassen aus einer XSD-Schemadatei. Die generierten Klassen können in Verbindung mit System.XML.Serialization.XMLSerializer zum Lesen und Schreiben von XML-Code verwendet werden, der diesem Schema folgt.
  • Klassen nach XSD
    Generiert ein XML-Schema aus einem oder mehreren Typen in einer Laufzeitassemblydatei. Das generierte Schema definiert das von System.XML.Serialization.XMLSerializer verwendete XML-Format.

Mit Xsd.exe können Sie ausschließlich XML-Schemas ändern, die der durch das World Wide Web Consortium (W3C) veröffentlichten XSD-Sprache (XML Schema Definition language) entsprechen. Weitere Informationen zur veröffentlichten XML-Schemadefinition oder dem XML-Standard finden Sie unter http://w3.org.

Beispiele

Der folgende Befehl generiert ein XML-Schema aus myFile.xdr und speichert dieses im aktuellen Verzeichnis.

xsd myFile.xdr 

Der folgende Befehl generiert ein XML-Schema aus myFile.xml und speichert dieses im angegebenen Verzeichnis.

xsd myFile.xml/outputdir:myOutputDir

Der folgende Befehl generiert ein DataSet, das dem angegebenen Schema in C# entspricht, und speichert dieses unter XSDSchemaFile.cs im aktuellen Verzeichnis.

xsd /dataset /language:CS XSDSchemaFile.xsd

Der folgende Befehl generiert XML-Schemas für alle Typen in der Assembly myAssembly.dll und speichert diese unter schema0.xsd im aktuellen Verzeichnis.

xsd myAssembly.dll

Siehe auch

.NET Framework-Tools | DataSet-Klasse | System.XML.Serialization.XMLSerializer.Deserializer | System.XML.Serialization.XMLSerializer