Attributes That Control XML Serialization
You can apply the attributes in the following table to classes and class members to control the way in which the XmlSerializer serializes or deserializes an instance of the class. To understand how these attributes control XML serialization, see Controlling XML Serialization Using Attributes.
These attributes can also be used to control the literal style SOAP messages generated by an XML Web service. For more information about applying these attributes to an XML Web services method, see XML Serialization with XML Web Services.
For more information about attributes, see Extending Metadata Using Attributes.
Attribute | Applies to | Specifies |
---|---|---|
XmlAnyAttributeAttribute | Public field, property, parameter, or return value that returns an array of XmlAttribute objects. | When deserializing, the array will be filled with XmlAttribute objects that represent all XML attributes unknown to the schema. |
XmlAnyElementAttribute | Public field, property, parameter, or return value that returns an array of XmlElement objects. | When deserializing, the array is filled with XmlElement objects that represent all XML elements unknown to the schema. |
XmlArrayAttribute | Public field, property, parameter, or return value that returns an array of complex objects. | The members of the array will be generated as members of an XML array. |
XmlArrayItemAttribute | Public field, property, parameter, or return value that returns an array of complex objects. | The derived types that can be inserted into an array. Usually applied in conjunction with an XmlArrayAttribute. |
XmlAttributeAttribute | Public field, property, parameter, or return value. | The member will be serialized as an XML attribute. |
XmlChoiceIdentifierAttribute | Public field, property, parameter, or return value. | The member can be further disambiguated by using an enumeration. |
XmlElementAttribute | Public field, property, parameter, or return value. | The field or property will be serialized as an XML element. |
XmlEnumAttribute | Public field that is an enumeration identifier. | The element name of an enumeration member. |
XmlIgnoreAttribute | Public properties and fields. | The property or field should be ignored when the containing class is serialized. |
XmlIncludeAttribute | Public derived class declarations, and return values of public methods (for Web Services Description Language (WSDL) documents). | The class should be included when generating schemas (to be recognized when serialized). |
XmlRootAttribute | Public class declarations. | Controls XML serialization of the attribute target as an XML root element. Use the attribute to further specify the namespace and element name. |
XmlTextAttribute | Public properties and fields. | The property or field should be serialized as XML text. |
XmlTypeAttribute | Public class declarations. | The name and namespace of the XML type. |
In addition to these attributes, which are all found in the System.Xml.Serialization namespace, you can also apply the System.ComponentModel.DefaultValueAttribute attribute to a field. The DefaultValueAttribute sets the value that will be automatically assigned to the member if no value is specified.
To control encoded SOAP XML serialization, see Attributes That Control Encoded SOAP Serialization.
See Also
XML and SOAP Serialization | XmlSerializer | Controlling XML Serialization Using Attributes | Overriding XML Serialization