Bagikan melalui


XsdDataContractExporter Kelas

Definisi

Memungkinkan transformasi sekumpulan jenis .NET yang digunakan dalam kontrak data ke dalam file skema XML (.xsd).

public ref class XsdDataContractExporter
public class XsdDataContractExporter
type XsdDataContractExporter = class
Public Class XsdDataContractExporter
Warisan
XsdDataContractExporter

Contoh

Contoh berikut membuat instans XsdDataContractExporter dan memanggil Export(Type) metode .

using System;
using System.Xml;
using System.Runtime.Serialization;
using System.Xml.Schema;

public class Program
{
    public static void Main()
    {
        try
        {
            ExportXSD();
        }
        catch (Exception exc)
        {
            Console.WriteLine("Message: {0} StackTrace:{1}", exc.Message, exc.StackTrace);
        }
        finally
        {
            Console.ReadLine();
        }
    }

    static void ExportXSD()
    {
        XsdDataContractExporter exporter = new XsdDataContractExporter();
        if (exporter.CanExport(typeof(Employee)))
        {
            exporter.Export(typeof(Employee));
            Console.WriteLine("number of schemas: {0}", exporter.Schemas.Count);
            Console.WriteLine();
            XmlSchemaSet mySchemas = exporter.Schemas;

            XmlQualifiedName XmlNameValue = exporter.GetRootElementName(typeof(Employee));
            string EmployeeNameSpace = XmlNameValue.Namespace;

            foreach (XmlSchema schema in mySchemas.Schemas(EmployeeNameSpace))
            {
                schema.Write(Console.Out);
            }
        }
    }

    static void GetXmlElementName()
    {
        XsdDataContractExporter myExporter = new XsdDataContractExporter();
        XmlQualifiedName xmlElementName =myExporter.GetRootElementName(typeof(Employee));
        Console.WriteLine("Namespace: {0}", xmlElementName.Namespace);
        Console.WriteLine("Name: {0}", xmlElementName.Name);
        Console.WriteLine("IsEmpty: {0}", xmlElementName.IsEmpty);
    }

    [DataContract(Namespace = "www.Contoso.com/Examples/")]
    public class Employee
    {
        [DataMember]
        public string EmployeeName;
        [DataMember]
        private string ID;
    }
}
Imports System.Collections
Imports System.Xml
Imports System.Runtime.Serialization
Imports System.Xml.Schema

Public Class Program
    Public Shared Sub Main() 
        Try
            ExportXSD()
        Catch exc As Exception
            Console.WriteLine("Message: {0} StackTrace:{1}", exc.Message, exc.StackTrace)
        Finally
            Console.ReadLine()
        End Try
    
    End Sub 
    
    
    Shared Sub ExportXSD() 

        Dim exporter As New XsdDataContractExporter()

        ' Use the ExportOptions to add the Possessions type to the 
        ' collection of KnownTypes. 
        Dim eOptions As New ExportOptions()
        eOptions.KnownTypes.Add(GetType(Possessions))        
        exporter.Options = eOptions

        If exporter.CanExport(GetType(Employee)) Then
            exporter.Export(GetType(Employee))
            Console.WriteLine("number of schemas: {0}", exporter.Schemas.Count)
            Console.WriteLine()
            Dim mySchemas As XmlSchemaSet = exporter.Schemas
            
            Dim XmlNameValue As XmlQualifiedName = _
               exporter.GetRootElementName(GetType(Employee))
            Dim EmployeeNameSpace As String = XmlNameValue.Namespace
            
            Dim schema As XmlSchema
            For Each schema In  mySchemas.Schemas(EmployeeNameSpace)
                schema.Write(Console.Out)
            Next schema
        End If
    
    End Sub 
    
    
    Shared Sub GetXmlElementName() 
        Dim myExporter As New XsdDataContractExporter()
        Dim xmlElementName As XmlQualifiedName = myExporter. _
            GetRootElementName(GetType(Employee))
        Console.WriteLine("Namespace: {0}", xmlElementName.Namespace)
        Console.WriteLine("Name: {0}", xmlElementName.Name)
        Console.WriteLine("IsEmpty: {0}", xmlElementName.IsEmpty)
    
    End Sub 
    
    <DataContract([Namespace] := "www.Contoso.com/Examples/")>  _
    Public Class Employee

        <DataMember()>  _
        Public EmployeeName As String
        <DataMember()>  _
        Private ID As String
        ' This member may return a Possessions type.
        <DataMember> _
        public Miscellaneous As Hashtable 

    End Class 

    <DataContract> _
    Public Class Possessions

        <DataMember> _
        Public ItemName As String
    End Class

End Class

Keterangan

Untuk informasi selengkapnya tentang API ini, lihat Keterangan API Tambahan untuk XsdDataContractExporter.

Konstruktor

XsdDataContractExporter()

Menginisialisasi instans baru kelas XsdDataContractExporter.

XsdDataContractExporter(XmlSchemaSet)

Menginisialisasi instans XsdDataContractExporter baru kelas dengan sekumpulan skema yang ditentukan.

Properti

Options

Mendapatkan atau mengatur ExportOptions yang berisi opsi yang dapat diatur untuk operasi ekspor.

Schemas

Mendapatkan kumpulan skema XML yang diekspor.

Metode

CanExport(ICollection<Assembly>)

Mendapatkan nilai yang menunjukkan apakah kumpulan jenis .common language runtime (CLR) yang terkandung dalam sekumpulan rakitan dapat diekspor.

CanExport(ICollection<Type>)

Mendapatkan nilai yang menunjukkan apakah kumpulan jenis .common language runtime (CLR) yang ICollection<T> terkandung dalam dapat diekspor.

CanExport(Type)

Mendapatkan nilai yang menunjukkan apakah jenis runtime bahasa umum (CLR) yang ditentukan dapat diekspor.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
Export(ICollection<Assembly>)

Mengubah jenis yang terkandung dalam kumpulan rakitan yang ditentukan.

Export(ICollection<Type>)

Mengubah jenis yang terkandung dalam yang diteruskan ICollection<T> ke metode ini.

Export(Type)

Mengubah jenis .NET Framework yang ditentukan menjadi skema bahasa definisi skema XML (XSD).

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetRootElementName(Type)

Mengembalikan nama tingkat atas dan namespace layanan untuk Type.

GetSchemaType(Type)

Mengembalikan jenis skema XML untuk jenis yang ditentukan.

GetSchemaTypeName(Type)

Mengembalikan nama kontrak dan namespace kontrak untuk Type.

GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk

Lihat juga