.NET Compact Framework 2.0 支持XML序列化,不支持二进制序列化和SOAP序列化。
二进制序列化:
public static System.Data.DataSet DataDeserialize(string str)
{
object obj = null;
CompactFormatter.CompactFormatterPlus cfp = new
CompactFormatter.CompactFormatterPlus();
using (System.IO.MemoryStream ms = new System.IO.MemoryStream
(Convert.FromBase64String(str)))
{
try
{
obj = (Object)cfp.Deserialize(ms);
return obj as System.Data.DataSet;
}
catch { return null; }
finally
{
ms.Close();
}
}
}
public static string DataSerialize(DataSet ds)
{
CompactFormatter.CompactFormatterPlus cfp = new
CompactFormatter.CompactFormatterPlus();
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
try
{
cfp.Serialize(ms, ds);
ms.Seek(0, System.IO.SeekOrigin.Begin);
return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length);
}
catch { return null; }
finally
{
ms.Close();
}
}
}