


## Classes

| Class | Description |
| --- | --- |
| [IXmlSerializable](./ixmlserializable/) | Provides custom formatting for XML serialization and deserialization. Objects of this class should only be allocated using [System::MakeObject()](../system/makeobject/) function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into [System::SmartPtr](../system/smartptr/) pointer and use this pointer to pass it to functions as argument. |
| [XmlAttributeOverrides](./xmlattributeoverrides/) | Allows overriding attributes when [XmlSerializer](./xmlserializer/) is used to serialize or deserialize an object. Objects of this class should only be allocated using [System::MakeObject()](../system/makeobject/) function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into [System::SmartPtr](../system/smartptr/) pointer and use this pointer to pass it to functions as argument. |
| [XmlRootAttribute](./xmlrootattribute/) | Marks the attribute target as an XML root element and controls its XML serialization. Objects of this class should only be allocated using [System::MakeObject()](../system/makeobject/) function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into [System::SmartPtr](../system/smartptr/) pointer and use this pointer to pass it to functions as argument. |
| [XmlSerializationReader](./xmlserializationreader/) | Service class improving [XmlReader](../system.xml/xmlreader/) experience. |
| [XmlSerializationWriter](./xmlserializationwriter/) | Service class improving [XmlWriter](../system.xml/xmlwriter/) experience. |
| [XmlSerializer](./xmlserializer/) | Performs serialization and deserialization of objects into and from XML documents. Objects of this class should only be allocated using [System::MakeObject()](../system/makeobject/) function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into [System::SmartPtr](../system/smartptr/) pointer and use this pointer to pass it to functions as argument. |
| [XmlSerializerImplementation](./xmlserializerimplementation/) | Internal class to use with [XmlSerializer](./xmlserializer/). |
| [XmlSerializerNamespaces](./xmlserializernamespaces/) | Contains the XML namespaces and prefixes that the [Serialization::XmlSerializer](./xmlserializer/) uses to generate qualified names in an XML-document instance. |
