Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

ExportOptions Class

Definition

Namespace:
System.Runtime.Serialization
Assemblies:
netstandard.dll, System.Runtime.Serialization.Xml.dll
Assembly:
System.Runtime.Serialization.Xml.dll
Assembly:
System.Runtime.Serialization.dll
Assembly:
netstandard.dll
Source:
ExportOptions.cs
Source:
ExportOptions.cs
Source:
ExportOptions.cs
Source:
ExportOptions.cs
Source:
ExportOptions.cs

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

Represents the options that can be set for an XsdDataContractExporter.

public ref class ExportOptions
public class ExportOptions
type ExportOptions = class
Public Class ExportOptions
Inheritance
ExportOptions

Examples

The following example creates an instance of the ExportOptions class and adds a type (Possessions) to the collection returned by the KnownTypes property.

The XsdDataContractExporter then exports the schemas of the types, including the Possessions type added to the collection.

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

Remarks

The XsdDataContractExporter is used to generate XSD schemas from a type or assembly. You can also use the XsdDataContractImporter to generate .NET Framework code from a schema document.

For more information about importing and exporting schemas, see Schema Import and Export and Exporting Schemas from Classes.

The KnownTypes property is used by the DataContractSerializer to include types that can be read in an object graph. For more information about the data contract and known types, see Data Contract Known Types.

For more information about data contracts, see Using Data Contracts.

Constructors

Name Description
ExportOptions()

Initializes a new instance of the ExportOptions class.

Properties

Name Description
DataContractSurrogate

Gets or sets a serialization surrogate.

KnownTypes

Gets the collection of types that may be encountered during serialization or deserialization.

Methods

Name Description
Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Returns a string that represents the current object.

(Inherited from Object)

Applies to

See also


Feedback

Was this page helpful?