XsdDataContractExporter 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
允許將資料合約中使用的一組 .NET 型別轉換成 XML 結構描述檔案 (.xsd)。
public ref class XsdDataContractExporter
public class XsdDataContractExporter
type XsdDataContractExporter = class
Public Class XsdDataContractExporter
- 繼承
-
XsdDataContractExporter
範例
下列程式碼範例會建立 XsdDataContractExporter 的執行個體,然後呼叫 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
備註
如需此 API 的詳細資訊,請參閱 XsdDataContractExporter 的補充 API 備註。
建構函式
XsdDataContractExporter() |
初始化 XsdDataContractExporter 類別的新執行個體。 |
XsdDataContractExporter(XmlSchemaSet) |
使用指定的結構描述集合,初始化 XsdDataContractExporter 類別的新執行個體。 |
屬性
Options |
取得或設定 ExportOptions,其中包含能夠針對匯出作業進行設定的選項。 |
Schemas |
取得已匯出之 XML 結構描述的集合。 |
方法
CanExport(ICollection<Assembly>) |
取得值,這個值表示是否能夠匯出包含在組件集合中的 Common Language Runtime (CLR) 類型集合。 |
CanExport(ICollection<Type>) |
取得值,這個值表示是否能夠匯出包含在 ICollection<T> 中的 Common Language Runtime (CLR) 類型集合。 |
CanExport(Type) |
取得值,這個值表示是否能夠匯出指定的 Common Language Runtime (CLR) 類型。 |
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
Export(ICollection<Assembly>) |
轉換包含在指定組件集合中的類型。 |
Export(ICollection<Type>) |
轉換已傳遞到這個方法之 ICollection<T> 中所包含的類型。 |
Export(Type) |
將指定的 .NET Framework 類型轉換成 XML 架構定義語言, (XSD) 架構。 |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetRootElementName(Type) |
傳回 Type 的最上層名稱和命名空間。 |
GetSchemaType(Type) |
傳回指定類型的 XML 結構描述類型。 |
GetSchemaTypeName(Type) |
傳回 Type 的合約名稱以及合約命名空間。 |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
ToString() |
傳回代表目前物件的字串。 (繼承來源 Object) |