【转】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;
} 
posted @ 2010-09-15 04:47  irischan  阅读(3574)  评论(0编辑  收藏  举报