System.Xml.Serialization Namespace

Contains classes that are used to serialize objects into XML format documents or streams.

Classes

CodeExporter

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

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 .NET's XML serialization infrastructure.

ImportContext

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

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 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.

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 UnknownAttribute event.

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.

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 UnknownElement event.

XmlEnumAttribute

Controls how the XmlSerializer serializes an enumeration member.

XmlIgnoreAttribute

Instructs the 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 types and XML Schema data types.

XmlMemberMapping

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

XmlMembersMapping

Provides mappings between .NET 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 UnknownNode event.

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 types or Web service method information.

XmlReflectionMember

Provides mappings between code entities in .NET 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 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.

XmlSerializationGeneratedCode

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

XmlSerializationReader

Controls deserialization by the XmlSerializer class.

XmlSerializationReader.CollectionFixup

Holds an XmlSerializationCollectionFixupCallback delegate instance, plus the method's inputs; also supplies the method's parameters.

XmlSerializationReader.Fixup

Holds an XmlSerializationFixupCallback delegate instance, plus the method's inputs; also serves as the parameter for the method.

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.

Structs

XmlDeserializationEvents

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

Interfaces

IXmlSerializable

Provides custom formatting for XML serialization and deserialization.

IXmlTextParser

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

Enums

CodeGenerationOptions

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

XmlMappingAccess

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

Delegates

UnreferencedObjectEventHandler

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

XmlAttributeEventHandler

Represents the method that handles the UnknownAttribute.

XmlElementEventHandler

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

XmlNodeEventHandler

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

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.

XmlSerializationReadCallback

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

XmlSerializationWriteCallback

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

Remarks

The central class in the namespace is the XmlSerializer class. To use this class, use the XmlSerializer 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 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 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 ElementName property. For a complete list of all the attributes, see the XmlSerializer class overview.