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.
Ermöglicht die Transformation eines Satzes von .NET Typen, die in Datenverträgen in eine XML-Schemadatei (XSD) verwendet werden.
public ref class XsdDataContractExporter
public class XsdDataContractExporter
type XsdDataContractExporter = class
Public Class XsdDataContractExporter
- Vererbung
-
XsdDataContractExporter
Beispiele
Im folgenden Beispiel wird eine Instanz der XsdDataContractExporter Methode erstellt und aufgerufen 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
Hinweise
Weitere Informationen zu dieser API finden Sie in den ergänzenden API-Hinweisen für XsdDataContractExporter.
Konstruktoren
| Name | Beschreibung |
|---|---|
| XsdDataContractExporter() |
Initialisiert eine neue Instanz der XsdDataContractExporter-Klasse. |
| XsdDataContractExporter(XmlSchemaSet) |
Initialisiert eine neue Instanz der XsdDataContractExporter Klasse mit dem angegebenen Satz von Schemas. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Options |
Dient zum Abrufen oder Festlegen eines ExportOptions Werts, der Optionen enthält, die für den Exportvorgang festgelegt werden können. |
| Schemas |
Ruft die Auflistung exportierter XML-Schemas ab. |
Methoden
| Name | Beschreibung |
|---|---|
| CanExport(ICollection<Assembly>) |
Ruft einen Wert ab, der angibt, ob der Satz von CLR-Typen (Common Language Runtime) in einer Gruppe von Assemblys exportiert werden kann. |
| CanExport(ICollection<Type>) |
Ruft einen Wert ab, der angibt, ob der Satz von CLR-Typen (Common Language Runtime), die in einer ICollection<T> Datei enthalten sind, exportiert werden kann. |
| CanExport(Type) |
Ruft einen Wert ab, der angibt, ob der angegebene ClR-Typ (Common Language Runtime) exportiert werden kann. |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| Export(ICollection<Assembly>) |
Transformiert die Typen, die in der angegebenen Auflistung von Assemblys enthalten sind. |
| Export(ICollection<Type>) |
Transformiert die Typen, die in der ICollection<T> an diese Methode übergeben werden. |
| Export(Type) |
Wandelt den angegebenen .NET-Typ in ein XSD-Schema (XML-Schemadefinitionssprache) um. |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetRootElementName(Type) |
Gibt den Namen der obersten Ebene und den Namespace für die Type. |
| 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. |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |