XsdDataContractExporter Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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) |