Microsoft在其文章" 如何使用Visual C#将对象序列化为XML "中提供了代码.
using System;
public class clsPerson
{
  public  string FirstName;
  public  string MI;
  public  string LastName;
}
class class1
{ 
   static void Main(string[] args)
   {
      clsPerson p=new clsPerson();
      p.FirstName = "Jeff";
      p.MI = "A";
      p.LastName = "Price";
      XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType());
      x.Serialize(Console.Out, p);
      Console.WriteLine();
      Console.ReadLine();
   }
}    
但是,为什么类clsPerson不需要用[DataContract]或[Serializable]属性标记?
因为XmlSerializer不要求将这些属性放在类上.只有BinaryFormatter和DataContractSerializer可以.就此而言,DataContractSerializer可以做到.
请参阅相关问题:为什么序列化对象需要序列化属性