XsdDataContractExporter Classe

Definição

Permite a transformação de um conjunto de tipos de .NET usados em contratos de dados em um arquivo de esquema XML (.xsd).

public ref class XsdDataContractExporter
public class XsdDataContractExporter
type XsdDataContractExporter = class
Public Class XsdDataContractExporter
Herança
XsdDataContractExporter

Exemplos

O exemplo a XsdDataContractExporter seguir cria uma instância do método e chama o Export(Type) método.

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

Comentários

Para obter mais informações sobre essa API, consulte comentários de API Suplementar para XsdDataContractExporter.

Construtores

Nome Description
XsdDataContractExporter()

Inicializa uma nova instância da classe XsdDataContractExporter.

XsdDataContractExporter(XmlSchemaSet)

Inicializa uma nova instância da XsdDataContractExporter classe com o conjunto de esquemas especificado.

Propriedades

Nome Description
Options

Obtém ou define um ExportOptions que contém opções que podem ser definidas para a operação de exportação.

Schemas

Obtém a coleção de esquemas XML exportados.

Métodos

Nome Description
CanExport(ICollection<Assembly>)

Obtém um valor que indica se o conjunto de tipos CLR (.common language runtime) contidos em um conjunto de assemblies pode ser exportado.

CanExport(ICollection<Type>)

Obtém um valor que indica se o conjunto de tipos CLR (.common language runtime) contidos em um ICollection<T> pode ser exportado.

CanExport(Type)

Obtém um valor que indica se o tipo CLR (Common Language Runtime) especificado pode ser exportado.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Export(ICollection<Assembly>)

Transforma os tipos contidos na coleção especificada de assemblies.

Export(ICollection<Type>)

Transforma os tipos contidos no ICollection<T> método passado.

Export(Type)

Transforma o tipo .NET especificado em um esquema XSD (linguagem de definição de esquema XML).

GetHashCode()

Serve como a função hash predefinida.

(Herdado de Object)
GetRootElementName(Type)

Retorna o nome e o namespace de nível superior para o Type.

GetSchemaType(Type)

Retorna o tipo de esquema XML para o tipo especificado.

GetSchemaTypeName(Type)

Retorna o nome do contrato e o namespace de contrato para o Type.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também