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 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.
ObsoleteAttribute Public properties and fields. The property or field will be ignored when the containing class is serialized.

In addition to these attributes, which are all found in the System.Xml.Serialization namespace, you can also apply the 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