Udostępnij za pośrednictwem


XsdDataContractExporter Klasa

Definicja

Umożliwia przekształcenie zestawu typów platformy .NET używanych w kontraktach danych do pliku schematu XML (xsd).

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

Przykłady

Poniższy przykład tworzy wystąpienie obiektu XsdDataContractExporter i wywołuje metodę 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

Uwagi

Aby uzyskać więcej informacji na temat tego interfejsu API, zobacz Dodatkowe uwagi interfejsu API dla XsdDataContractExporter.

Konstruktory

XsdDataContractExporter()

Inicjuje nowe wystąpienie klasy XsdDataContractExporter.

XsdDataContractExporter(XmlSchemaSet)

Inicjuje XsdDataContractExporter nowe wystąpienie klasy z określonym zestawem schematów.

Właściwości

Options

Pobiera lub ustawia element ExportOptions zawierający opcje, które można ustawić dla operacji eksportu.

Schemas

Pobiera kolekcję wyeksportowanych schematów XML.

Metody

CanExport(ICollection<Assembly>)

Pobiera wartość wskazującą, czy można wyeksportować zestaw typów środowiska uruchomieniowego języka wspólnego (CLR) zawartych w zestawie zestawów.

CanExport(ICollection<Type>)

Pobiera wartość wskazującą, czy można wyeksportować zestaw typów ICollection<T> środowiska uruchomieniowego języka wspólnego (CLR).

CanExport(Type)

Pobiera wartość wskazującą, czy można wyeksportować określony typ środowiska uruchomieniowego języka wspólnego (CLR).

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Export(ICollection<Assembly>)

Przekształca typy zawarte w określonej kolekcji zestawów.

Export(ICollection<Type>)

Przekształca typy zawarte w przekazanej ICollection<T> do tej metody.

Export(Type)

Przekształca określony typ .NET Framework w schemat języka definicji schematu XML (XSD).

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetRootElementName(Type)

Zwraca nazwę najwyższego poziomu i przestrzeń nazw dla elementu Type.

GetSchemaType(Type)

Zwraca typ schematu XML dla określonego typu.

GetSchemaTypeName(Type)

Zwraca nazwę kontraktu i przestrzeń nazw kontraktu dla elementu Type.

GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też