XsdDataContractExporter 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
데이터 계약에 사용되는 .NET 형식 세트를 XML 스키마 파일(.xsd)로 변환할 수 있습니다.
public ref class XsdDataContractExporter
public class XsdDataContractExporter
type XsdDataContractExporter = class
Public Class XsdDataContractExporter
- 상속
-
XsdDataContractExporter
예제
다음 예제에서는 의 XsdDataContractExporter instance 만들고 메서드를 호출합니다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 형식을 XSD(XML 스키마 정의 언어) 스키마로 변환합니다. |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetRootElementName(Type) |
Type의 최상위 이름과 네임스페이스를 반환합니다. |
GetSchemaType(Type) |
지정한 형식에 대한 XML 스키마 형식을 반환합니다. |
GetSchemaTypeName(Type) |
Type의 계약 이름과 계약 네임스페이스를 반환합니다. |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
적용 대상
추가 정보
.NET