DataTable的XML序列化与反序列化

做序列化是为了把一个数据结构转化成为String,进而转化为二进制byte,存入文件中。

C#的对象序列化记忆中有3种,Binary,XML和SOAP。SOAP不知道是啥~,据说是符合SOAP的xml序列化。

以下转载自:http://www.cnblogs.com/moonspell/archive/2007/07/17/821201.html

  /// <summary> 

  /// 序列化DataTable 

  /// </summary> 

  /// <param name="pDt">包含数据的DataTable</param> 

  /// <returns>序列化的DataTable</returns> 

  private static string SerializeDataTableXml(DataTable pDt)

  {

      StringBuilder sb = new StringBuilder();

      XmlWriter writer = XmlWriter.Create(sb);

      XmlSerializer serializer = new XmlSerializer(typeof(DataTable));

      serializer.Serialize(writer, pDt);

      writer.Close();

      return sb.ToString();

  } 
 
/// <summary> 

/// 反序列化DataTable 

/// </summary> 

/// <param name="pXml">序列化的DataTable</param> 

/// <returns>DataTable</returns> 

public static DataTable DeserializeDataTable(string pXml)

{

    StringReader strReader = new StringReader(pXml);

    XmlReader xmlReader = XmlReader.Create(strReader);

    XmlSerializer serializer = new XmlSerializer(typeof(DataTable));

    DataTable dt = serializer.Deserialize(xmlReader) as DataTable;

    return dt;

} 

你可能感兴趣的:(Datatable)