Bagikan melalui


Mengekspor Skema dari Kelas

Untuk menghasilkan skema bahasa definisi skema XML (XSD) dari kelas yang digunakan dalam model kontrak data, gunakan kelas XsdDataContractExporter. Topik ini menjelaskan proses pembuatan skema.

Proses Ekspor

Proses ekspor skema dimulai dengan salah satu atau beberapa jenis dan menghasilkan XmlSchemaSet yang mendeskripsikan proyeksi XML jenis ini.

XmlSchemaSet adalah bagian dari NET Framework’s Schema Object Model (SOM) yang mewakili sekumpulan dokumen Skema XSD. Untuk membuat dokumen XSD dari XmlSchemaSet, gunakan kumpulan skema dari properti Schemas dari kelas XmlSchemaSet. Kemudian serialisasikan setiap objek XmlSchema menggunakan XmlSerializer.

Untuk mengekspor skema

  1. Buat instans XsdDataContractExporter.

  2. Opsional. Berikan XmlSchemaSet di konstruktor. Dalam hal ini, skema yang dihasilkan selama ekspor skema ditambahkan ke instans XmlSchemaSet ini alih-alih dimulai dengan XmlSchemaSet kosong.

  3. Opsional. Panggil salah satu metode CanExport. Metode menentukan apakah jenis yang ditentukan dapat diekspor. Metode ini memiliki kelebihan yang sama dengan metode Export pada langkah berikutnya.

  4. Panggil salah satu metode Export. Ada tiga kelebihan beban yang mengambil Type, List<T> dari objek Type, atau List<T> dari objek Assembly. Dalam kasus terakhir, semua jenis di semua rakitan yang diberikan diekspor.

    Beberapa panggilan ke metode Export menghasilkan beberapa item yang ditambahkan ke XmlSchemaSet yang sama. Jenis tidak dihasilkan ke dalam XmlSchemaSet jika sudah ada di sana. Oleh karena itu, memanggil Export beberapa kali pada XsdDataContractExporter yang sama lebih disukai daripada membuat beberapa instans kelas XsdDataContractExporter. Ini menghindari jenis skema duplikat yang dihasilkan.

    Catatan

    Jika ada kegagalan selama ekspor, XmlSchemaSet akan berada dalam keadaan yang tidak dapat diprediksi.

  5. Akses XmlSchemaSet melalui properti Schemas.

Opsi Ekspor

Anda dapat mengatur properti Options dari XsdDataContractExporter ke instans kelas ExportOptions untuk mengontrol berbagai aspek proses ekspor. Secara khusus, Anda dapat mengatur opsi berikut:

Metode pembantu

Selain peran utamanya dalam mengekspor skema, XsdDataContractExporter menyediakan beberapa metode pembantu berguna yang menyediakan informasi tentang jenis. Ini termasuk:

  • GetRootElementName metode. Metode ini mengambil Type dan mengembalikan XmlQualifiedName yang mewakili nama elemen root dan namespace layanan yang akan digunakan jika jenis ini diserialisasikan sebagai objek root.

  • GetSchemaTypeName metode. Metode ini mengambil Type dan mengembalikan XmlQualifiedName yang mewakili nama jenis skema XSD yang akan digunakan jika jenis ini diekspor ke skema. Untuk IXmlSerializable jenis yang direpresentasikan sebagai jenis anonim dalam skema, metode ini mengembalikan null.

  • GetSchemaType metode. Metode ini hanya berfungsi dengan IXmlSerializable jenis yang direpresentasikan sebagai jenis anonim dalam skema, dan mengembalikan null untuk semua jenis lainnya. Untuk jenis anonim, metode ini mengembalikan XmlSchemaType yang mewakili Type tertentu.

Opsi ekspor memengaruhi semua metode ini.

Lihat juga