应用程序通常定义若干类,XmlSerializer 将这些类转换为单个 XML 实例文档。但是,XmlSerializer 只需知道一种类型,即表示 XML 根元素的类的类型。XmlSerializer 自动序列化所有从属类的实例。同样,反序列化仅需要 XML 根元素的类型。示例
[Visual Basic, C#] 下面的示例构造序列化名为 Widget 的简单对象的 XmlSerializer。该示例在调用 Serialize 方法之前设置该对象的各种属性。
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;
}
[
[Visual Basic, C#] 下面的示例构造序列化名为 Widget 的简单对象的 XmlSerializer。该示例在调用 Serialize 方法之前设置该对象的各种属性。
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;
}
[
http://support.microsoft.com/default.aspx?scid=kb%3Ben-us%3B306134also see
Binary Serialization of ADO.NET Objects
http://msdn.microsoft.com/msdnmag/issues/02/12/CuttingEdge/default.aspx