XmlElementAttribute::Type Property
.NET Framework (current version)
Gets or sets the object type used to represent the XML element.
Assembly: System.Xml (in System.Xml.dll)
Use the Type property to specify a derived type for a field or property.
If a field or property returns an ArrayList, you can apply multiple instances of the XmlElementAttribute to the member. For each instance, set the Type property to a type of object that can be inserted into the array.
The following example uses the Type property to specify a derived object for an XmlElementAttribute. The example also applies three instances of the XmlElementAttribute to a field that returns an ArrayList. Each instance specifies a type allowed in the field.
#using <System.Xml.dll> #using <System.dll> using namespace System; using namespace System::Collections; using namespace System::IO; using namespace System::Xml; using namespace System::Xml::Serialization; public ref class Employee { public: String^ Name; }; public ref class Manager: public Employee { public: int Level; }; public ref class Group { public: [XmlElement(Manager::typeid)] array<Employee^>^Staff; [XmlElement(Int32::typeid), XmlElement(String::typeid), XmlElement(DateTime::typeid)] ArrayList^ ExtraInfo; }; void SerializeObject( String^ filename ) { // Create an XmlSerializer instance. XmlSerializer^ xSer = gcnew XmlSerializer( Group::typeid ); // Create object and serialize it. Group^ myGroup = gcnew Group; Manager^ e1 = gcnew Manager; e1->Name = "Manager1"; Manager^ m1 = gcnew Manager; m1->Name = "Manager2"; m1->Level = 4; array<Employee^>^emps = {e1,m1}; myGroup->Staff = emps; myGroup->ExtraInfo = gcnew ArrayList; myGroup->ExtraInfo->Add( ".NET" ); myGroup->ExtraInfo->Add( 42 ); myGroup->ExtraInfo->Add( DateTime(2001,1,1) ); TextWriter^ writer = gcnew StreamWriter( filename ); xSer->Serialize( writer, myGroup ); writer->Close(); } int main() { SerializeObject( "TypeEx.xml" ); }
Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Show: