Aracılığıyla paylaş


XsdDataContractExporter Sınıf

Tanım

Veri anlaşmalarında kullanılan bir .NET türleri kümesinin XML şema dosyasına (.xsd) dönüştürülmesini sağlar.

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

Örnekler

Aşağıdaki örnek öğesinin bir örneğini XsdDataContractExporter oluşturur ve yöntemini çağırır Export(Type) .

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

Açıklamalar

Bu API hakkında daha fazla bilgi için bkz . XsdDataContractExporter için ek API açıklamaları.

Oluşturucular

XsdDataContractExporter()

XsdDataContractExporter sınıfının yeni bir örneğini başlatır.

XsdDataContractExporter(XmlSchemaSet)

Belirtilen şema kümesiyle sınıfının yeni bir örneğini XsdDataContractExporter başlatır.

Özellikler

Options

Dışarı aktarma işlemi için ayarlanabilecek seçenekleri içeren bir ExportOptions alır veya ayarlar.

Schemas

Dışarı aktarılan XML şemaları koleksiyonunu alır.

Yöntemler

CanExport(ICollection<Assembly>)

Bir derleme kümesinde bulunan .common language runtime (CLR) türleri kümesinin dışarı aktarılıp aktarılamayacağını belirten bir değer alır.

CanExport(ICollection<Type>)

içinde bulunan .common language runtime (CLR) türlerinin kümesinin dışarı aktarılıp aktarılamayacağını belirten bir ICollection<T> değer alır.

CanExport(Type)

Belirtilen ortak dil çalışma zamanı (CLR) türünün dışarı aktarılıp aktarılamayacağını belirten bir değer alır.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
Export(ICollection<Assembly>)

Belirtilen derleme koleksiyonunda bulunan türleri dönüştürür.

Export(ICollection<Type>)

Bu yönteme geçirilen içinde ICollection<T> bulunan türleri dönüştürür.

Export(Type)

Belirtilen .NET Framework türünü xml şema tanım dili (XSD) şemasına dönüştürür.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetRootElementName(Type)

için Typeen üst düzey adı ve ad alanını döndürür.

GetSchemaType(Type)

Belirtilen tür için XML şema türünü döndürür.

GetSchemaTypeName(Type)

için Typesözleşme adını ve sözleşme ad alanını döndürür.

GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.