XmlSerializer.XmlSerializer(Type) Constructor
Assembly: System.Xml (in system.xml.dll)
Commonly, an application defines several classes that the XmlSerializer converts into a single XML-instance document. However, the XmlSerializer must know only one type--the type of the class that represents the XML root element. The XmlSerializer automatically serializes all subordinate class instances. Similarly, only the type of the XML root element is required for deserialization.
The following example constructs an XmlSerializer that serializes an object named Widget. The example sets various properties of the object before calling the Serialize method.
private void SerializeObject(string filename) { XmlSerializer serializer = new XmlSerializer(typeof(OrderedItem)); // Create an instance of the class to be serialized. OrderedItem i = new OrderedItem(); // Set the public property values. i.ItemName = "Widget"; i.Description = "Regular Widget"; i.Quantity = 10; i.UnitPrice = (decimal) 2.30; // Writing the document requires a TextWriter. TextWriter writer = new StreamWriter(filename); // Serialize the object, and close the TextWriter. serializer.Serialize(writer, i); writer.Close(); } // This is the class that will be serialized. public class OrderedItem { public string ItemName; public string Description; public decimal UnitPrice; public int Quantity; }
private void SerializeObject(String filename)
{
XmlSerializer serializer =
new XmlSerializer(OrderedItem.class.ToType());
// Create an instance of the class to be serialized.
OrderedItem i = new OrderedItem();
// Set the public property values.
i.itemName = "Widget";
i.description = "Regular Widget";
i.quantity = 10;
i.unitPrice = Convert.ToDecimal(2.3);
// Writing the document requires a TextWriter.
TextWriter writer = new StreamWriter(filename);
// Serialize the object, and close the TextWriter.
serializer.Serialize(writer, i);
writer.Close();
} //SerializeObject
// This is the class that will be serialized.
public class OrderedItem
{
public String itemName;
public String description;
public System.Decimal unitPrice;
public int quantity;
} //OrderedItem
Windows 98, Windows Server 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 Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.Reference
XmlSerializer ClassXmlSerializer Members
System.Xml.Serialization Namespace
Serialize
Deserialize
XmlAttributes
Other Resources
Introducing XML SerializationHow to: Specify an Alternate Element Name for an XML Stream
Controlling XML Serialization Using Attributes
Examples of XML Serialization
XML Schema Definition Tool (Xsd.exe)