XmlTextAttribute::Type Property
Gets or sets the type of the member.
Assembly: System.Xml (in System.Xml.dll)
The Type property can only be set to primitive types and enumerations.
The XmlTextAttribute can also be applied to a field that returns an XmlNode or an array of XmlNode objects.
You can apply the XmlTextAttribute to a field or property that returns an array of strings. You can also apply the attribute to an array of type Object but you must set the Type property to string. In that case, any strings inserted into the array are serialized as XML text.
#using <System.Xml.dll> #using <System.dll> using namespace System; using namespace System::Xml::Serialization; using namespace System::IO; public ref class Group1 { public: // The XmlTextAttribute with type set to string informs the // XmlSerializer that strings should be serialized as XML text. [XmlText(String::typeid)] [XmlElement(Int32::typeid)] [XmlElement(Double::typeid)] array<Object^>^All; Group1() { array<Object^>^temp = {321,"One",2,3.0,"Two"}; All = temp; } }; public enum class GroupType { Small, Medium, Large }; public ref class Group2 { public: [XmlText(Type=GroupType::typeid)] GroupType Type; }; public ref class Group3 { public: [XmlText(Type=DateTime::typeid)] DateTime CreationTime; Group3() { CreationTime = DateTime::Now; } }; public ref class Test { public: static void main() { Test^ t = gcnew Test; t->SerializeArray( "XmlText1.xml" ); t->SerializeEnum( "XmlText2.xml" ); t->SerializeDateTime( "XmlText3.xml" ); } private: void SerializeArray( String^ filename ) { XmlSerializer^ ser = gcnew XmlSerializer( Group1::typeid ); Group1^ myGroup1 = gcnew Group1; TextWriter^ writer = gcnew StreamWriter( filename ); ser->Serialize( writer, myGroup1 ); writer->Close(); } void SerializeEnum( String^ filename ) { XmlSerializer^ ser = gcnew XmlSerializer( Group2::typeid ); Group2^ myGroup = gcnew Group2; myGroup->Type = GroupType::Medium; TextWriter^ writer = gcnew StreamWriter( filename ); ser->Serialize( writer, myGroup ); writer->Close(); } void SerializeDateTime( String^ filename ) { XmlSerializer^ ser = gcnew XmlSerializer( Group3::typeid ); Group3^ myGroup = gcnew Group3; TextWriter^ writer = gcnew StreamWriter( filename ); ser->Serialize( writer, myGroup ); writer->Close(); } }; int main() { Test::main(); }
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