XsdDataContractExporter Clase

Definición

Permite la transformación de un conjunto de .NET tipos que se usan en contratos de datos en un archivo de esquema XML (.xsd).

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

Ejemplos

En el ejemplo siguiente se crea una instancia de XsdDataContractExporter y se llama al 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

Comentarios

Para obtener más información sobre esta API, consulte Comentarios complementarios de api para XsdDataContractExporter.

Constructores

Nombre Description
XsdDataContractExporter()

Inicializa una nueva instancia de la clase XsdDataContractExporter.

XsdDataContractExporter(XmlSchemaSet)

Inicializa una nueva instancia de la XsdDataContractExporter clase con el conjunto de esquemas especificado.

Propiedades

Nombre Description
Options

Obtiene o establece un ExportOptions objeto que contiene opciones que se pueden establecer para la operación de exportación.

Schemas

Obtiene la colección de esquemas XML exportados.

Métodos

Nombre Description
CanExport(ICollection<Assembly>)

Obtiene un valor que indica si se puede exportar el conjunto de tipos de .Common Language Runtime (CLR) contenidos en un conjunto de ensamblados.

CanExport(ICollection<Type>)

Obtiene un valor que indica si se puede exportar el conjunto de tipos de .Common Language Runtime (CLR) contenidos en .ICollection<T>

CanExport(Type)

Obtiene un valor que indica si se puede exportar el tipo de Common Language Runtime (CLR) especificado.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

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

Transforma los tipos contenidos en la colección especificada de ensamblados.

Export(ICollection<Type>)

Transforma los tipos contenidos en el ICollection<T> objeto pasado a este método.

Export(Type)

Transforma el tipo de .NET especificado en un esquema de lenguaje de definición de esquemas XML (XSD).

GetHashCode()

Actúa como la función hash predeterminada.

(Heredado de Object)
GetRootElementName(Type)

Devuelve el nombre de nivel superior y el espacio de nombres de .Type

GetSchemaType(Type)

Devuelve el tipo de esquema XML para el tipo especificado.

GetSchemaTypeName(Type)

Devuelve el nombre del contrato y el espacio de nombres del contrato para .Type

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también