Freigeben über


XsdDataContractExporter Klasse

Definition

Diese Klasse ermöglicht die Transformation einer in Datenverträgen verwendeten Gruppe von .NET-Typen in eine XML-Schemadatei (.xsd).

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

Beispiele

Im folgenden Beispiel wird eine Instanz von XsdDataContractExporter erstellt, und die Export(Type)-Methode wird aufgerufen.

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

Hinweise

Weitere Informationen zu dieser API finden Sie unter Zusätzliche API-Hinweise für XsdDataContractExporter.

Konstruktoren

XsdDataContractExporter()

Initialisiert eine neue Instanz der XsdDataContractExporter-Klasse.

XsdDataContractExporter(XmlSchemaSet)

Initialisiert eine neue Instanz der XsdDataContractExporter-Klasse mit dem angegebenen Schemasatz.

Eigenschaften

Options

Ruft einen ExportOptions ab, der Optionen enthält, die für die Exportoperation festgelegt werden können, oder legt diesen fest.

Schemas

Ruft die Auflistung exportierter XML-Schemas ab.

Methoden

CanExport(ICollection<Assembly>)

Ruft einen Wert ab, der angibt, ob ein in einem Satz von Assemblys enthaltener Satz von Common Language Runtime (CLR)-Typen exportiert werden kann.

CanExport(ICollection<Type>)

Ruft einen Wert ab, der angibt, ob ein in einem ICollection<T> enthaltener Satz von Common Language Runtime (CLR)-Typen exportiert werden kann.

CanExport(Type)

Ruft einen Wert ab, der angibt, ob der angegebene Common Language Runtime (CLR)-Typ exportiert werden kann.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
Export(ICollection<Assembly>)

Transformiert die in der angegebenen Auflistung von Assemblys enthaltenen Typen.

Export(ICollection<Type>)

Transformiert die im ICollection<T> enthaltenen, an diese Methode übergebenen Typen.

Export(Type)

Transformiert den angegebenen .NET Framework-Typ in ein XSD-Schema (XML Schema Definition Language).

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetRootElementName(Type)

Gibt den Namen und Namespace der obersten Ebene für den Type zurück.

GetSchemaType(Type)

Gibt den XML-Schematyp für den angegebenen Typ zurück.

GetSchemaTypeName(Type)

Gibt den Vertragsnamen und den Vertragsnamespace für den Type zurück.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Weitere Informationen