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