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>) |
アセンブリのセットに含まれている共通言語ランタイム (CLR) 型がエクスポート可能かどうかどうかを示す値を取得します。 |
CanExport(ICollection<Type>) |
ICollection<T> に含まれる共通言語ランタイム (CLR) 型がエクスポート可能かどうかどうかを示す値を取得します。 |
CanExport(Type) |
指定した共通言語ランタイム (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) |
適用対象
こちらもご覧ください
.NET