Partage via


XsdDataContractExporter Classe

Définition

Autorise la transformation d'un ensemble des types .NET qui sont utilisés dans les contrats de données en un fichier de schéma XML (.xsd).

public ref class XsdDataContractExporter
public class XsdDataContractExporter
type XsdDataContractExporter = class
Public Class XsdDataContractExporter
Héritage
XsdDataContractExporter

Exemples

L'exemple suivant crée une instance du XsdDataContractExporter et appelle la méthode 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

Remarques

Pour plus d’informations sur cette API, consultez Remarques supplémentaires sur l’API pour XsdDataContractExporter.

Constructeurs

XsdDataContractExporter()

Initialise une nouvelle instance de la classe XsdDataContractExporter.

XsdDataContractExporter(XmlSchemaSet)

Initialise une nouvelle instance de la classe XsdDataContractExporter avec l'jeu de schémas spécifié.

Propriétés

Options

Obtient ou définit un ExportOptions qui contient des options qui peuvent être définies pour l'opération d'exportation.

Schemas

Obtient la collection de schémas XML exportés.

Méthodes

CanExport(ICollection<Assembly>)

Obtient une valeur qui indique si l'ensemble des types CLR (Common Language Runtime) contenu dans un ensemble d'assemblys peut être exporté.

CanExport(ICollection<Type>)

Obtient une valeur qui indique si l'ensemble des types CLR (Common Language Runtime) contenu dans un ICollection<T> peut être exporté.

CanExport(Type)

Obtient une valeur qui indique si le type CLR spécifié peut être exporté.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
Export(ICollection<Assembly>)

Transforme les types contenus dans la collection spécifiée d'assemblys.

Export(ICollection<Type>)

Transforme les types contenus dans le ICollection<T> passé à cette méthode.

Export(Type)

Transforme le type .NET Framework spécifié en schéma XSD (Xml Schema Definition Language).

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetRootElementName(Type)

Retourne le nom de niveau supérieur et l'espace de noms pour le Type.

GetSchemaType(Type)

Retourne un type de schéma XML pour le type spécifié.

GetSchemaTypeName(Type)

Retourne le nom et l'espace de noms de contrat pour Type.

GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à

Voir aussi