Export (0) Print
Expand All

XmlTypeAttribute Class

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

Namespace: System.Xml.Serialization
Assembly: System.Xml (in system.xml.dll)

[AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Enum|AttributeTargets.Interface)] 
public class XmlTypeAttribute : Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Enum|AttributeTargets.Interface) */ 
public class XmlTypeAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Enum|AttributeTargets.Interface) 
public class XmlTypeAttribute extends Attribute

The XmlTypeAttribute belongs to a family of attributes that controls how the XmlSerializer serializes or deserializes an object. For a complete list of similar attributes, see Attributes That Control XML Serialization.

You can apply the XmlTypeAttribute to a class, structure, enumeration, or interface declaration.

Apply the XmlTypeAttribute to a class to specify the XML type's namespace, the XML type name, and whether to include the type in the XML schema document. To see the results of setting the properties of the XmlTypeAttribute class, compile your application as an executable or DLL, and pass the resulting file to the XML Schema Definition Tool (Xsd.exe). The tool writes the schema, including the type definition.

NoteNote

If you set the IncludeInSchema property to false, the XML Schema Definition Tool (Xsd.exe) does not include the type in the schema. By default, for each public class, the XSD tool generates a complexType and an element of that type.

For more information about using attributes, see Extending Metadata Using Attributes.

NoteNote

You can use the word XmlType in your code instead of the longer XmlTypeAttribute.

The following example shows two classes to which the XmlTypeAttribute has been applied.

[XmlType(Namespace = "http://www.cpandl.com",
TypeName = "GroupMember")]
public class Person
{
   public string Name;
}

[XmlType(Namespace = "http://www.cohowinery.com",
TypeName = "GroupAddress")]
public class Address
{
   public string Line1;
   public string Line2;
   public string City;
   public string State;
   public string Zip;
}

public class Group
{
   public Person[] Staff;
   public Person Manager;
   public Address Location;
}


/** @attribute XmlType(Namespace = "http://www.cpandl.com",
    TypeName = "GroupMember")
 */
public class Person
{
    public String name;
} //Person

/** @attribute XmlType(Namespace = "http://www.cohowinery.com",
    TypeName = "GroupAddress")
 */
public class Address
{
    public String line1;
    public String line2;
    public String city;
    public String state;
    public String zip;
} //Address

public class Group
{
    public Person staff[];
    public Person manager;
    public Address location;
} //Group

System.Object
   System.Attribute
    System.Xml.Serialization.XmlTypeAttribute

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

Community Additions

ADD
Show:
© 2014 Microsoft