Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az XML-sémadefiníció (Xsd.exe) eszköz XDR-, XML- és XSD-fájlokból vagy futtatókörnyezeti szerelvény osztályaiból hoz létre XML-sémát vagy közös nyelvi futtatókörnyezeti osztályokat.
Az XML-sémadefiníciós eszköz (Xsd.exe) általában a következő elérési úton található:
C:\Program Files (x86)\Microsoft SDKs\Windows\{version}\bin\NETFX {version} Tools\
Szemantika
Futtassa az eszközt a parancssorból.
xsd file.xdr [-outputdir:directory][/parameters:file.xml]
xsd file.xml [-outputdir:directory] [/parameters:file.xml]
xsd file.xsd {/classes | /dataset} [/element:element]
[/enableLinqDataSet] [/language:language]
[/namespace:namespace] [-outputdir:directory] [URI:uri]
[/parameters:file.xml]
xsd {file.dll | file.exe} [-outputdir:directory] [/type:typename [...]][/parameters:file.xml]
Jótanács
Ahhoz, hogy a .NET-keretrendszer eszközei megfelelően működjenek, helyesen kell beállítania a Path
, Include
és Lib
a környezeti változókat. Állítsa be ezeket a környezeti változókat az SDK<\version>\<Bin könyvtárban >található SDKVars.batfuttatásával. SDKVars.bat minden parancshéjban végre kell hajtani.
érvelés
érvelés | Leírás |
---|---|
file.extension | Megadja a konvertálni kívánt bemeneti fájlt. A bővítményt a következők egyikeként kell megadnia: .xdr, .xml, .xsd, .dllvagy .exe. Ha XDR-sémafájlt (.xdr kiterjesztést) ad meg, Xsd.exe az XDR-sémát XSD-sémává alakítja. A kimeneti fájl neve megegyezik az XDR-sémával, de az .xsd kiterjesztéssel. Ha xml-fájlt (.xml kiterjesztést) ad meg, Xsd.exe a fájl adataiból következtet egy sémára, és létrehoz egy XSD-sémát. A kimeneti fájl neve megegyezik az XML-fájl nevével, de az .xsd kiterjesztéssel. Ha XML-sémafájlt (.xsd kiterjesztést) ad meg, Xsd.exe létrehozza az XML-sémának megfelelő futtatókörnyezeti objektumok forráskódját. Ha futásidejű szerelvényfájlt (.exe vagy .dll bővítményt) ad meg, Xsd.exe a szerelvény egy vagy több típusához hoz létre sémákat. A beállítással /type megadhatja a sémák létrehozásához használt típusokat. A kimeneti sémák neve schema0.xsd, schema1.xsd stb. Xsd.exe csak akkor hoz létre több sémát, ha az adott típusok egy névteret adnak meg az XMLRoot egyéni attribútummal. |
Általános beállítások
Lehetőség | Leírás |
---|---|
/h[elp] | Megjeleníti az eszköz parancsszintaxisát és beállításait. |
/o[utputdir]:directory | Megadja a kimeneti fájlok könyvtárát. Ez az argumentum csak egyszer jelenhet meg. Az alapértelmezett az aktuális könyvtár. |
/? | Megjeleníti az eszköz parancsszintaxisát és beállításait. |
/p[arameters]:file.xml | A megadott .xml fájl különböző üzemmódjainak olvasási beállításai. A rövidítés a /p: . További információ: Megjegyzések szakasz. |
XSD-fájlbeállítások
Az .xsd fájlokhoz csak az alábbi beállítások egyikét kell megadnia.
Lehetőség | Leírás |
---|---|
/c[lasses] | A megadott sémának megfelelő osztályokat hoz létre. Ha XML-adatokat szeretne beolvasni az objektumba, használja a metódust XmlSerializer.Deserialize . |
/d[ataset] | Létrehoz egy osztályt DataSet , amely a megadott sémának felel meg. Ha XML-adatokat szeretne beolvasni a származtatott osztályba, használja a metódust DataSet.ReadXml . |
Az .xsd fájlokhoz az alábbi lehetőségek bármelyikét megadhatja.
Lehetőség | Leírás |
---|---|
/e[lement]:element | Megadja a séma azon elemét, amely számára kódot szeretne létrehozni. Alapértelmezés szerint minden elem be van állítva. Ezt az argumentumot többször is megadhatja. |
/enableDataBinding | Az INotifyPropertyChanged interfészt implementálja minden generált típuson az adatkötés engedélyezéséhez. A rövidítés a /edb . |
/enableLinqDataSet | (Rövid űrlap: /eld .) Megadja, hogy a létrehozott adathalmaz lekérdezhető-e a LINQ to DataSet használatával. Ezt a lehetőséget akkor használja a rendszer, ha az /dataset beállítás is meg van adva. További információ: LINQ to DataSet Overview and Querying Typed DataSets. A LINQ használatával kapcsolatos általános információkért lásd :Language-Integrated Query (LINQ) – C# vagy Language-Integrated Query (LINQ) – Visual Basic. |
/f[ields] | Csak mezőket hoz létre. Alapértelmezés szerint a háttérmezőkkel rendelkező tulajdonságok jönnek létre. |
/l[anguage]:language | Megadja a használni kívánt programozási nyelvet. Válasszon a CS (C#, amely az alapértelmezett), VB (Visual Basic), JS (JScript) vagy VJS (Visual J#) közül. Az osztály implementálásának teljes neve is megadható System.CodeDom.Compiler.CodeDomProvider |
/n[amespace]:namespace | Megadja a létrehozott típusok futtatókörnyezeti névterét. Az alapértelmezett névtér a Schemas . |
/nologo | Letiltja a szalagcímet. |
/megrendelés | Explicit rendelésazonosítókat hoz létre az összes részecskeelem számára. |
/o[ut]:directoryName | Megadja a kimeneti könyvtárat, amelybe a fájlokat helyezni szeretné. Az alapértelmezett az aktuális könyvtár. |
/u[ri]:uri | Megadja a séma azon elemeinek URI-ját, amelyekhez kódot szeretne létrehozni. Ez az URI, ha van, a beállítással /element megadott összes elemre vonatkozik. |
DLL- és EXE-fájlbeállítások
Lehetőség | Leírás |
---|---|
/t[ype]:typename | Megadja annak a típusnak a nevét, amelyhez sémát szeretne létrehozni. Több típusargumentumot is megadhat. Ha a típusnév nem ad meg névteret, Xsd.exe megegyezik a szerelvény összes típusával a megadott típussal. Ha a típusnév névteret ad meg, csak az adott típus felel meg. Ha a típusnév csillag karakterrel (*) végződik, az eszköz minden olyan típusnak megfelel, amely a *előtti sztringgel kezdődik. Ha kihagyja a /type beállítást, Xsd.exe a szerelvény minden típusához létrehoz sémákat. |
Megjegyzések
Az alábbi táblázat azokat a műveleteket mutatja be, amelyeket Xsd.exe hajt végre.
Művelet | Leírás |
---|---|
XDR-ből XSD-be | XML-sémát hoz létre egy XML-Data-Reduced sémafájlból. Az XDR egy korai XML-alapú sémaformátum. |
XML–XSD | XML-sémát hoz létre EGY XML-fájlból. |
XSD-ről adathalmazra | Általános nyelvi futtatókörnyezeti DataSet osztályokat hoz létre egy XSD-sémafájlból. A létrehozott osztályok gazdag objektummodellt biztosítanak a normál XML-adatokhoz. |
XSD osztályoknak | Futtatókörnyezeti osztályokat hoz létre egy XSD-sémafájlból. A létrehozott osztályok a System.Xml.Serialization.XmlSerializer segítségével a sémát követő XML-kód olvasásához és írásához használhatók. |
Osztályok az XSD-be | XML-sémát hoz létre egy vagy több típusból egy futtatás közbeni assembly fájlból. A létrehozott séma határozza meg a . által használt XML-formátumot XmlSerializer. |
Xsd.exe csak a World Wide Web Consortium (W3C) által javasolt XML-sémadefiníciót (XSD) követő XML-sémákat kezelheti. További információ az XML-sémadefiníciós javaslatról vagy az XML-szabványról https://w3.org: .
Beállítási beállítások XML-fájllal
A kapcsolóval /parameters
egyetlen XML-fájlt adhat meg, amely különböző beállításokat állít be. A megadható beállítások attól függenek, hogyan használja az XSD.exe eszközt. A lehetőségek közé tartoznak a sémák létrehozása, a kódfájlok létrehozása vagy a funkciókat tartalmazó DataSet
kódfájlok létrehozása. Beállíthatja például az <assembly>
elemet egy végrehajtható (.exe) vagy egy kódtár (.dll) fájl nevére a séma létrehozásakor, kódfájl létrehozásakor azonban nem. Az alábbi XML bemutatja, hogyan használható az <generateSchemas>
elem egy megadott végrehajtható fájllal:
<!-- This is in a file named GenerateSchemas.xml. -->
<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'>
<generateSchemas>
<assembly>ConsoleApplication1.exe</assembly>
</generateSchemas>
</xsd>
Ha az előző XML egy GenerateSchemas.xmlnevű fájlban található, használja a /parameters
kapcsolót úgy, hogy beírja a következőt egy parancssorba, és nyomja le az Enter billentyűt:
xsd /p:GenerateSchemas.xml
Ha viszont a szerelvényben található egyetlen típushoz hoz létre sémát, a következő XML-t használhatja:
<!-- This is in a file named GenerateSchemaFromType.xml. -->
<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'>
<generateSchemas>
<type>IDItems</type>
</generateSchemas>
</xsd>
Az előző kód használatához azonban meg kell adnia a szerelvény nevét is a parancssorban. Írja be a következőket egy parancssorba (az XML-fájl neve GenerateSchemaFromType.xml):
xsd /p:GenerateSchemaFromType.xml ConsoleApplication1.exe
Az elemhez csak az alábbi lehetőségek egyikét <generateSchemas>
kell megadnia.
Elem | Leírás |
---|---|
<összeszerelés> | Egy szerelvényt ad meg, amelyből létrehozhatja a sémát. |
<típus> | Egy szerelvényben található típust ad meg a sémák létrehozásához. |
<xml> | Megadja a séma létrehozásához szükséges XML-fájlt. |
<Xdr> | Egy XDR-fájlt ad meg, amely sémát hoz létre. |
Kódfájl létrehozásához használja az <generateClasses>
elemet. Az alábbi példa egy kódfájlt hoz létre. Vegye figyelembe, hogy két attribútum is látható, amelyek lehetővé teszik a létrehozott fájl programozási nyelvének és névterének beállítását.
<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'>
<generateClasses language='VB' namespace='Microsoft.Serialization.Examples'/>
</xsd>
<!-- You must supply an .xsd file when typing in the command line.-->
<!-- For example: xsd /p:genClasses mySchema.xsd -->
Az elemhez <generateClasses>
megadható beállítások közé tartoznak a következők.
Elem | Leírás |
---|---|
<elem> | Megadja az .xsd fájl egyik elemét, amely számára kód jön létre. |
<schemaImporterExtensions> | Az osztályból SchemaImporterExtension származtatott típust ad meg. |
<séma> | Megadja a kód létrehozásához szükséges XML-sémafájlt. Több XML-sémafájl több <sémaelem> használatával is megadható. |
Az alábbi táblázat az elemhez <generateClasses>
is használható attribútumokat mutatja be.
Attribútum | Leírás |
---|---|
nyelv | Megadja a használni kívánt programozási nyelvet. Válasszon a CS (C#, az alapértelmezett), VB (Visual Basic), JS (JScript) vagy VJS (Visual J#) közül. Megadhat egy teljes kvalifikált nevét is egy osztálynak, amely megvalósítja CodeDomProvider. |
névtér | Megadja a létrehozott kód névterét. A névtérnek meg kell felelnie a CLR-szabványoknak (például nincs szóköz vagy fordított perjel karakter). |
beállítások | Az alábbi értékek egyike: none , properties (a nyilvános mezők helyett tulajdonságokat hoz létre), order vagy enableDataBinding (lásd az /order előző XSD-fájlbeállítások szakaszban található és /enableDataBinding kapcsolókat). |
Az DataSet
elem használatával <generateDataSet>
azt is szabályozhatja, hogy hogyan generálódik a kód. A következő XML azt határozza meg, hogy a létrehozott kód DataSet
struktúrákat (például a DataTable osztályt) használ egy meghatározott elemhez tartozó Visual Basic-kód létrehozásához. A létrehozott Adathalmaz-struktúrák támogatják a LINQ-lekérdezéseket.
<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'>
<generateDataSet language='VB' namespace='Microsoft.Serialization.Examples' enableLinqDataSet='true'>
</generateDataSet>
</xsd>
Az elemhez <generateDataSet>
megadható beállítások közé tartoznak a következők.
Elem | Leírás |
---|---|
<séma> | Megadja a kód létrehozásához szükséges XML-sémafájlt. Több XML-sémafájl több <sémaelem> használatával is megadható. |
Az alábbi táblázat az elemhez <generateDataSet>
használható attribútumokat mutatja be.
Attribútum | Leírás |
---|---|
LinqDataSet engedélyezése | Megadja, hogy a létrehozott adathalmaz lekérdezhető-e a LINQ to DataSet használatával. Az alapértelmezett érték hamis. |
nyelv | Megadja a használni kívánt programozási nyelvet. Válasszon a CS (C#, az alapértelmezett), VB (Visual Basic), JS (JScript) vagy VJS (Visual J#) közül. Megadhat egy teljes kvalifikált nevét is egy osztálynak, amely megvalósítja CodeDomProvider. |
névtér | Megadja a létrehozott kód névterét. A névtérnek meg kell felelnie a CLR-szabványoknak (például nincs szóköz vagy fordított perjel karakter). |
Vannak attribútumok, amelyeket a legfelső szintű <xsd>
elemen állíthat be. Ezek a beállítások a gyermekelemek (<generateSchemas>
<generateClasses>
vagy <generateDataSet>
) bármelyikével használhatók. A következő XML-kód egy "IDItems" nevű elem kódját hozza létre a "MyOutputDirectory" kimeneti könyvtárban.
<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/' output='MyOutputDirectory'>
<generateClasses>
<element>IDItems</element>
</generateClasses>
</xsd>
Az alábbi táblázat az elemhez <xsd>
is használható attribútumokat mutatja be.
Attribútum | Leírás |
---|---|
kimenet | Annak a könyvtárnak a neve, amelyben a létrehozott séma vagy kódfájl el lesz helyezve. |
nologo | Letiltja a szalagcímet. Állítsa true vagy false értékre. |
segítség | Megjeleníti az eszköz parancsszintaxisát és beállításait. Állítsa true vagy false értékre. |
Példák
Az alábbi parancs létrehoz egy XML-sémát a myFile.xdr
alapján, és elmenti az aktuális könyvtárba.
xsd myFile.xdr
Az alábbi parancs létrehoz egy XML-sémát a myFile.xml
-ből, és menti azt a megadott könyvtárba.
xsd myFile.xml /outputdir:myOutputDir
Az alábbi parancs létrehoz egy olyan adatkészletet, amely megfelel a C# nyelv megadott sémájának, és az aktuális könyvtárhoz hasonlóan XSDSchemaFile.cs
menti azt.
xsd /dataset /language:CS XSDSchemaFile.xsd
A következő parancs XML-sémákat generál a myAssembly.dll
szerelvény összes típusához, és schema0.xsd
néven menti őket az aktuális könyvtárba.
xsd myAssembly.dll