System.Xml.Serialization Namespace

The System.Xml.Serialization namespace contains classes that are used to serialize objects into XML format documents or streams.

Remarks

The central class in the namespace is the XmlSerializer class. To use this class, use the System.Xml.Serialization.XmlSerializer.#ctor constructor to create an instance of the class using the type of the object to serialize. Once an XmlSerializer is created, create an instance of the object to serialize. You must also create an object to write the file to a document or stream, such as a Stream, TextWriter, or XmlWriter. You can then call the XmlSerializer.Serialize method to convert the object into an XML document.

To deserialize an object from an XML document, create a suitable object to read the document or stream (again, a Stream, TextWriter, or XmlWriter). Invoke the XmlSerializer.Deserialize method while casting the resulting object to the type of the original object (that was serialized).

To further control the serialization, the System.Xml.Serialization namespace contains several Attribute classes that can be applied to members of a class. For example, if a class contains a member that will be serialized as an XML element, you can apply the XmlElementAttribute attribute to the member. When applying the attribute, you can specify details such as the actual XML element name using the XmlElementAttribute.ElementName property. For a complete list of all the attributes, see the XmlSerializer class overview.

Classes

TypeReason
CodeExporter

Represents a class that can generate proxy code from an XML representation of a data structure.

CodeGenerationOptions

Specifies various options to use when generating .NET Framework types for use with an XML Web Service.

CodeIdentifier

Provides static methods to convert input text into names for code entities.

CodeIdentifiers

Maintains a group of names for related code entities or type mappings that are generated by the .NET Framework's XML serialization infrastructure.

ImportContext

Describes the context in which a set of schema is bound to .NET Framework code entities.

IXmlSerializable

Provides custom formatting for XML serialization and deserialization.

IXmlTextParser

Establishes a IXmlTextParser.Normalized property for use by the .NET Framework infrastructure.

SchemaImporter

Describes a schema importer.

SoapAttributeAttribute

Specifies that the XmlSerializer must serialize the class member as an encoded SOAP attribute.

SoapAttributeOverrides

Allows you to override attributes applied to properties, fields, and classes when you use an XmlSerializer to serialize or deserialize an object as encoded SOAP.

SoapAttributes

Represents a collection of attribute objects that control how the XmlSerializer serializes and deserializes SOAP methods.

SoapCodeExporter

Generates types and attribute declarations from internal type mapping information for SOAP-encoded message parts defined in a WSDL document.

SoapElementAttribute

Specifies that the public member value be serialized by the XmlSerializer as an encoded SOAP XML element.

SoapEnumAttribute

Controls how the XmlSerializer serializes an enumeration member.

SoapIgnoreAttribute

Instructs the XmlSerializer not to serialize the public field or public read/write property value.

SoapIncludeAttribute

Allows the XmlSerializer to recognize a type when it serializes or deserializes an object as encoded SOAP XML.

SoapReflectionImporter

Generates mappings to SOAP-encoded messages from .NET Framework types or Web service method information.

SoapSchemaExporter

Populates XmlSchema objects with XML Schema data type definitions for .NET Framework types that are serialized using SOAP encoding.

SoapSchemaImporter

Used within the .NET Framework to generate internal mappings to .NET Framework types for SOAP-encoded message parts in a WSDL document.

SoapSchemaMember

Represents certain attributes of a XSD <part> element in a WSDL document for generating classes from the document.

SoapTypeAttribute

Controls the schema generated by the XmlSerializer when a class instance is serialized as SOAP encoded XML.

UnreferencedObjectEventArgs

Provides data for the known, but unreferenced, object found in an encoded SOAP XML stream during deserialization.

UnreferencedObjectEventHandler

Represents the method that handles the XmlSerializer.UnreferencedObject event of an XmlSerializer.

XmlAnyAttributeAttribute

Specifies that the member (a field that returns an array of XmlAttribute objects) can contain any XML attributes.

XmlAnyElementAttribute

Specifies that the member (a field that returns an array of XmlElement or XmlNode objects) contains objects that represent any XML element that has no corresponding member in the object being serialized or deserialized.

XmlAnyElementAttributes

Represents a collection of XmlAnyElementAttribute objects.

XmlArrayAttribute

Specifies that the XmlSerializer must serialize a particular class member as an array of XML elements.

XmlArrayItemAttribute

Represents an attribute that specifies the derived types that the XmlSerializer can place in a serialized array.

XmlArrayItemAttributes

Represents a collection of XmlArrayItemAttribute objects.

XmlAttributeAttribute

Specifies that the XmlSerializer must serialize the class member as an XML attribute.

XmlAttributeEventArgs

Provides data for the XmlSerializer.UnknownAttribute event.

XmlAttributeEventHandler

Represents the method that handles the XmlSerializer.UnknownAttribute

XmlAttributeOverrides

Allows you to override property, field, and class attributes when you use the XmlSerializer to serialize or deserialize an object.

XmlAttributes

Represents a collection of attribute objects that control how the XmlSerializer serializes and deserializes an object.

XmlChoiceIdentifierAttribute

Specifies that the member can be further detected by using an enumeration.

XmlCodeExporter

Generates types and attribute declarations from internal type mapping information for XML schema element declarations.

XmlDeserializationEvents

Contains fields that can be used to pass event delegates to a thread-safe erload:System.Xml.Serialization.XmlSerializer.Deserialize method of the XmlSerializer.

XmlElementAttribute

Indicates that a public field or property represents an XML element when the XmlSerializer serializes or deserializes the object that contains it.

XmlElementAttributes

Represents a collection of XmlElementAttribute objects used by the XmlSerializer to override the default way it serializes a class.

XmlElementEventArgs

Provides data for the XmlSerializer.UnknownElement event.

XmlElementEventHandler

Represents the method that handles the XmlSerializer.UnknownElement event of an XmlSerializer.

XmlEnumAttribute

Controls how the XmlSerializer serializes an enumeration member.

XmlIgnoreAttribute

Instructs the XmlSerializer.Serialize(TextWriter,Object) method of the XmlSerializer not to serialize the public field or public read/write property value.

XmlIncludeAttribute

Allows the XmlSerializer to recognize a type when it serializes or deserializes an object.

XmlMapping

Supports mappings between .NET Framework types and XML Schema data types.

XmlMappingAccess

Specifies whether a mapping is read, write, or both.

XmlMemberMapping

Maps a code entity in a .NET Framework Web service method to an element in a Web Services Description Language (WSDL) message.

XmlMembersMapping

Provides mappings between .NET Framework Web service methods and Web Services Description Language (WSDL) messages that are defined for SOAP Web services.

XmlNamespaceDeclarationsAttribute

Specifies that the target property, parameter, return value, or class member contains prefixes associated with namespaces that are used within an XML document.

XmlNodeEventArgs

Provides data for the XmlSerializer.UnknownNode event.

XmlNodeEventHandler

Represents the method that handles the XmlSerializer.UnknownNode event of an XmlSerializer.

XmlReflectionImporter

Generates mappings to XML schema element declarations, including literal XML Schema Definition (XSD) message parts in a Web Services Description Language (WSDL) document, for .NET Framework types or Web service method information.

XmlReflectionMember

Provides mappings between code entities in .NET Framework Web service methods and the content of Web Services Description Language (WSDL) messages that are defined for SOAP Web services.

XmlRootAttribute

Controls XML serialization of the attribute target as an XML root element.

XmlSchemaEnumerator

Enables iteration over a collection of XmlSchema objects.

XmlSchemaExporter

Populates XmlSchema objects with XML schema element declarations that are found in type mapping objects.

XmlSchemaImporter

Generates internal mappings to .NET Framework types for XML schema element declarations, including literal XSD message parts in a WSDL document.

XmlSchemaProviderAttribute

When applied to a type, stores the name of a static method of the type that returns an XML schema and a XmlQualifiedName (or XmlSchemaType for anonymous types) that controls the serialization of the type.

XmlSchemas

Represents the collection of XML schemas.

XmlSerializationCollectionFixupCallback

Delegate used by the XmlSerializer class for deserialization of SOAP-encoded XML data types that map to collections or enumerations.

XmlSerializationFixupCallback

Delegate used by the XmlSerializer class for deserialization of SOAP-encoded XML data.

XmlSerializationGeneratedCode

An abstract class that is the base class for XmlSerializationReader and XmlSerializationWriter and that contains methods common to both of these types.

XmlSerializationReadCallback

Delegate used by the XmlSerializer class for deserialization of types from SOAP-encoded, non-root XML data.

XmlSerializationReader

Controls deserialization by the XmlSerializer class.

XmlSerializationReader+CollectionFixup
XmlSerializationReader+CollectionItemFixup
XmlSerializationReader+Fixup
XmlSerializationWriteCallback

Delegate that is used by the XmlSerializer class for serialization of types from SOAP-encoded, non-root XML data.

XmlSerializationWriter

Represents an abstract class used for controlling serialization by the XmlSerializer class.

XmlSerializer

Serializes and deserializes objects into and from XML documents. The XmlSerializer enables you to control how objects are encoded into XML.

XmlSerializerAssemblyAttribute

Applied to a Web service client proxy, enables you to specify an assembly that contains custom-made serializers.

XmlSerializerFactory

Creates typed versions of the XmlSerializer for more efficient serialization.

XmlSerializerImplementation

Defines the reader, writer, and methods for pre-generated, typed serializers.

XmlSerializerNamespaces

Contains the XML namespaces and prefixes that the XmlSerializer uses to generate qualified names in an XML-document instance.

XmlSerializerVersionAttribute

Signifies that the code was generated by the serialization infrastructure and can be reused for increased performance, when this attribute is applied to an assembly.

XmlTextAttribute

Indicates to the XmlSerializer that the member must be treated as XML text when the class that contains it is serialized or deserialized.

XmlTypeAttribute

Controls the XML schema that is generated when the attribute target is serialized by the XmlSerializer.

XmlTypeMapping

Contains a mapping of one type to another.