Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Alat Definisi Skema XML (Xsd.exe) menghasilkan skema XML atau kelas Common Language Runtime (CLR) dari file XDR, XML, dan XSD, atau dari kelas dalam assembly runtime.
Alat Definisi Skema XML (Xsd.exe) biasanya dapat ditemukan di jalur berikut:
C:\Program Files (x86)\Microsoft SDKs\Windows\{version}\bin\NETFX {version} Tools\
Sintaksis
Jalankan alat dari baris perintah.
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]
Nasihat
Agar alat .NET Framework berfungsi dengan baik, Anda harus mengatur variabel lingkungan Path, Include, dan Lib dengan benar. Atur variabel lingkungan ini dengan menjalankan SDKVars.bat, yang terletak di <direktori SDK>\<version>\Bin. SDKVars.bat harus dijalankan di setiap shell perintah.
Argumen
| Argumen | Deskripsi |
|---|---|
| file.extension | Menentukan file input yang akan dikonversi. Anda harus menentukan ekstensi sebagai salah satu hal berikut: .xdr, .xml, .xsd, .dll, atau .exe. Jika Anda menentukan file skema XDR (ekstensi.xdr), Xsd.exe mengonversi skema XDR ke skema XSD. File output memiliki nama yang sama dengan skema XDR, tetapi dengan ekstensi .xsd. Jika Anda menentukan file XML ( ekstensi.xml), Xsd.exe menyimpulkan skema dari data dalam file dan menghasilkan skema XSD. File output memiliki nama yang sama dengan file XML, tetapi dengan ekstensi .xsd. Jika Anda menentukan file skema XML (ekstensi.xsd), Xsd.exe menghasilkan kode sumber untuk objek runtime yang sesuai dengan skema XML. Jika Anda menentukan file rakitan runtime ( ekstensi.exe atau .dll), Xsd.exe menghasilkan skema untuk satu atau beberapa jenis dalam rakitan tersebut. Anda dapat menggunakan /type opsi untuk menentukan jenis yang akan dihasilkan skemanya. Skema output diberi nama schema0.xsd, schema1.xsd, dan sebagainya. Xsd.exe menghasilkan beberapa skema hanya jika jenis tertentu menentukan namespace menggunakan XMLRoot atribut kustom. |
Opsi Umum
| Opsi | Deskripsi |
|---|---|
| /h[elp] | Menampilkan sintaks perintah dan opsi untuk alat ini. |
| /o[utputdir]:directory | Menentukan direktori untuk file output. Argumen ini hanya dapat muncul sekali. Defaultnya adalah direktori saat ini. |
| /? | Menampilkan sintaks perintah dan opsi untuk alat ini. |
| /p[arameters]:file.xml | Baca opsi untuk berbagai mode operasi dari file .xml yang ditentukan. Bentuk pendeknya adalah /p:. Untuk informasi selengkapnya, lihat bagian Keterangan. |
Opsi Berkas XSD
Anda hanya harus menentukan salah satu opsi berikut untuk file .xsd.
| Opsi | Deskripsi |
|---|---|
| /c[lasses] | Menghasilkan kelas yang sesuai dengan skema yang ditentukan. Untuk membaca data XML ke dalam objek, gunakan XmlSerializer.Deserialize metode . |
| /d[dataset] (kumpulan data) | Menghasilkan kelas yang berasal dari DataSet yang sesuai dengan skema yang ditentukan. Untuk membaca data XML ke kelas turunan, gunakan metode .DataSet.ReadXml |
Anda juga dapat menentukan salah satu opsi berikut untuk file .xsd.
| Opsi | Deskripsi |
|---|---|
| /e[lement]:element | Menentukan elemen dalam skema untuk menghasilkan kode. Secara default, semua elemen ditik. Anda dapat menentukan argumen ini lebih dari sekali. |
| /enableDataBinding | Menerapkan antarmuka INotifyPropertyChanged pada semua tipe yang dihasilkan agar pengikatan data dapat diaktifkan. Bentuk pendeknya adalah /edb. |
| /enableLinqDataSet | (Bentuk pendek: /eld.) Menentukan bahwa Himpunan Data yang dihasilkan dapat dikueri terhadap penggunaan LINQ ke Himpunan Data. Opsi ini digunakan ketika opsi /dataset juga ditentukan. Untuk informasi selengkapnya, lihat LINQ ke Gambaran Umum Himpunan Data dan Mengkueri Himpunan Data Yang Diketik. Untuk informasi umum tentang menggunakan LINQ, lihat kueriLanguage-Integrated (LINQ) - C# atau kueriLanguage-Integrated (LINQ) - Visual Basic. |
| /f[ields] | Hanya menghasilkan bidang. Secara default, properti dengan bidang penyokong dihasilkan. |
| /l[anguage]:language | Menentukan bahasa pemrograman yang akan digunakan. Pilih dari CS (C#, yang merupakan default), VB (Visual Basic), JS (JScript), atau VJS (Visual J#). Anda juga dapat menentukan nama yang sepenuhnya memenuhi syarat untuk penerapan kelas System.CodeDom.Compiler.CodeDomProvider |
| /n[amespace]:namespace | Menentukan namespace runtime untuk jenis yang dihasilkan. Namespace default adalah Schemas. |
| /nologo | Menyembunyikan banner. |
| /pesanan | Menghasilkan pengidentifikasi pesanan eksplisit pada semua anggota partikel. |
| /o[ut]:directoryName | Menentukan direktori output untuk menempatkan file. Defaultnya adalah direktori saat ini. |
| /u[ri]:uri | Menentukan URI untuk elemen dalam skema untuk menghasilkan kode. URI ini, jika ada, berlaku untuk semua elemen yang ditentukan dengan /element opsi . |
Opsi File DLL dan EXE
| Opsi | Deskripsi |
|---|---|
| /t[ype]:typename | Menentukan nama jenis untuk membuat skema. Anda dapat menentukan beberapa argumen jenis. Jika typename tidak menentukan namespace, Xsd.exe cocok dengan semua tipe dalam assembly dengan tipe yang ditentukan. Jika typename menentukan namespace, hanya tipe tersebut yang dicocokkan. Jika typename berakhir dengan karakter tanda bintang (*), alat cocok dengan semua jenis yang dimulai dengan string yang mendahului *. Jika Anda menghilangkan /type opsi, Xsd.exe menghasilkan skema untuk semua jenis dalam rakitan. |
Komentar
Tabel berikut ini memperlihatkan operasi yang Xsd.exe lakukan.
| Operasi | Deskripsi |
|---|---|
| XDR ke XSD | Menghasilkan skema XML dari file skema XML-Data-Reduced. XDR adalah format skema berbasis XML awal. |
| XML ke XSD | Menghasilkan skema XML dari file XML. |
| XSD ke Himpunan Data | Menghasilkan kelas runtime DataSet bahasa umum dari file skema XSD. Kelas yang dihasilkan menyediakan model objek yang kaya untuk data XML reguler. |
| XSD ke Kelas | Menghasilkan kelas runtime dari file skema XSD. Kelas yang dihasilkan dapat digunakan bersama dengan System.Xml.Serialization.XmlSerializer untuk membaca dan menulis kode XML yang mengikuti skema. |
| Konversi Kelas ke XSD | Menghasilkan skema XML dari tipe atau tipe dalam berkas assembly runtime. Skema yang dihasilkan menentukan format XML yang digunakan oleh XmlSerializer. |
Xsd.exe hanya memungkinkan Anda memanipulasi skema XML yang mengikuti bahasa Definisi Skema XML (XSD) yang diusulkan oleh World Wide Web Consortium (W3C). Untuk informasi selengkapnya tentang proposal Definisi Skema XML atau standar XML, lihat https://w3.org.
Mengatur Opsi dengan File XML
Dengan menggunakan sakelar /parameters , Anda dapat menentukan satu file XML yang mengatur berbagai opsi. Opsi yang dapat Anda atur bergantung pada cara Anda menggunakan alat XSD.exe. Pilihannya termasuk membuat skema, membuat file kode, atau membuat file kode yang menyertakan DataSet fitur. Misalnya, Anda dapat mengatur <assembly> elemen ke nama file yang dapat dieksekusi (.exe) atau pustaka jenis (.dll) saat membuat skema, tetapi tidak saat membuat file kode. XML berikut menunjukkan cara menggunakan <generateSchemas> elemen dengan executable tertentu:
<!-- This is in a file named GenerateSchemas.xml. -->
<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'>
<generateSchemas>
<assembly>ConsoleApplication1.exe</assembly>
</generateSchemas>
</xsd>
Jika XML sebelumnya terkandung dalam file bernama GenerateSchemas.xml, gunakan sakelar /parameters dengan mengetik perintah berikut pada prompt perintah dan menekan Enter:
xsd /p:GenerateSchemas.xml
Di sisi lain, jika Anda membuat skema untuk satu jenis yang ditemukan di rakitan, Anda dapat menggunakan XML berikut:
<!-- This is in a file named GenerateSchemaFromType.xml. -->
<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'>
<generateSchemas>
<type>IDItems</type>
</generateSchemas>
</xsd>
Tetapi untuk menggunakan kode sebelumnya, Anda juga harus memberikan nama assembly di prompt perintah. Masukkan berikut ini di prompt perintah (dengan asumsi file XML diberi nama GenerateSchemaFromType.xml):
xsd /p:GenerateSchemaFromType.xml ConsoleApplication1.exe
Anda hanya harus menentukan salah satu opsi berikut untuk elemen tersebut <generateSchemas> .
| Elemen | Deskripsi |
|---|---|
| <majelis> | Menentukan assembly dari mana skema dibuat. |
| <jenis> | Menentukan tipe yang ditemukan dalam assembly untuk menghasilkan skema. |
| <Xml> | Menentukan file XML untuk menghasilkan skema. |
| <Xdr> | Menentukan file XDR untuk menghasilkan skema. |
Untuk menghasilkan file kode, gunakan <generateClasses> elemen . Contoh berikut menghasilkan file kode. Perhatikan bahwa dua atribut juga ditampilkan yang memungkinkan Anda mengatur bahasa pemrograman dan namespace file yang dihasilkan.
<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 -->
Opsi yang <generateClasses> dapat Anda atur untuk elemen menyertakan yang berikut ini.
| Elemen | Deskripsi |
|---|---|
| <Elemen> | Menentukan elemen dalam file .xsd untuk menghasilkan kode. |
| <schemaImporterExtensions> | Menentukan jenis yang berasal dari SchemaImporterExtension kelas . |
| <skema> | Menentukan file Skema XML untuk menghasilkan kode. Beberapa file Skema XML dapat ditentukan menggunakan beberapa <schema> elemen. |
Tabel berikut menunjukkan atribut yang juga dapat digunakan dengan <generateClasses> elemen .
| Atribut | Deskripsi |
|---|---|
| bahasa | Menentukan bahasa pemrograman yang akan digunakan. Pilih dari CS (C#, default), VB (Visual Basic), JS (JScript), atau VJS (Visual J#). Anda juga dapat menentukan nama yang sepenuhnya memenuhi syarat untuk kelas yang mengimplementasikan CodeDomProvider. |
| ruang nama | Menentukan namespace untuk kode yang dihasilkan. Namespace harus sesuai dengan standar CLR (misalnya, tidak ada spasi atau karakter garis miring terbelakang). |
| opsi | Salah satu nilai berikut: none, properties (menghasilkan properti, bukan bidang publik), order, atau enableDataBinding (lihat sakelar /order dan /enableDataBinding di bagian Opsi File XSD sebelumnya. |
Anda juga dapat mengontrol bagaimana DataSet kode dihasilkan dengan menggunakan <generateDataSet> elemen . XML berikut menentukan bahwa kode yang dihasilkan menggunakan DataSet struktur (seperti DataTable kelas) untuk membuat kode Visual Basic untuk elemen tertentu. Struktur Himpunan Data yang dihasilkan akan mendukung kueri LINQ.
<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'>
<generateDataSet language='VB' namespace='Microsoft.Serialization.Examples' enableLinqDataSet='true'>
</generateDataSet>
</xsd>
Opsi yang <generateDataSet> dapat Anda atur untuk elemen menyertakan yang berikut ini.
| Elemen | Deskripsi |
|---|---|
| <skema> | Menentukan file Skema XML untuk menghasilkan kode. Beberapa file Skema XML dapat ditentukan menggunakan beberapa <schema> elemen. |
Tabel berikut menunjukkan atribut yang dapat digunakan dengan <generateDataSet> elemen .
| Atribut | Deskripsi |
|---|---|
| enableLinqDataSet | Menentukan bahwa Himpunan Data yang dihasilkan dapat dikueri terhadap penggunaan LINQ ke Himpunan Data. Nilai defaultnya adalah false. |
| bahasa | Menentukan bahasa pemrograman yang akan digunakan. Pilih dari CS (C#, default), VB (Visual Basic), JS (JScript), atau VJS (Visual J#). Anda juga dapat menentukan nama yang sepenuhnya memenuhi syarat untuk kelas yang mengimplementasikan CodeDomProvider. |
| ruang nama | Menentukan namespace untuk kode yang dihasilkan. Namespace harus sesuai dengan standar CLR (misalnya, tidak ada spasi atau karakter garis miring terbelakang). |
Ada atribut yang dapat Anda atur pada elemen tingkat <xsd> atas. Opsi ini dapat digunakan dengan salah satu elemen turunan (<generateSchemas>, <generateClasses> atau <generateDataSet>). Kode XML berikut menghasilkan kode untuk elemen bernama "IDItems" di direktori output bernama "MyOutputDirectory".
<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/' output='MyOutputDirectory'>
<generateClasses>
<element>IDItems</element>
</generateClasses>
</xsd>
Tabel berikut menunjukkan atribut yang juga dapat digunakan dengan <xsd> elemen .
| Atribut | Deskripsi |
|---|---|
| keluaran | Nama direktori tempat skema atau file kode yang dihasilkan akan ditempatkan. |
| tanpa logo | Menyembunyikan banner. Atur ke true atau false. |
| bantuan | Menampilkan sintaks perintah dan opsi untuk alat ini. Atur ke true atau false. |
Contoh
Perintah berikut menghasilkan skema XML dari myFile.xdr dan menyimpannya ke direktori saat ini.
xsd myFile.xdr
Perintah berikut menghasilkan skema XML dari myFile.xml dan menyimpannya ke direktori yang ditentukan.
xsd myFile.xml /outputdir:myOutputDir
Perintah berikut menghasilkan himpunan data yang sesuai dengan skema yang ditentukan dalam bahasa C# dan menyimpannya seperti XSDSchemaFile.cs di direktori saat ini.
xsd /dataset /language:CS XSDSchemaFile.xsd
Perintah berikut menghasilkan skema XML untuk semua jenis dalam rakitan myAssembly.dll dan menyimpannya seperti schema0.xsd di direktori saat ini.
xsd myAssembly.dll