这里就不说JSON序列化了,只介绍三种:二进制序列化器,SOAP序列化器,XML序列化器

直接上代码:

/// <summary>
/// 二进制序列化器、
/// 最节省流量,压缩程度最大的序列化器
/// </summary>
public static void BinarySerialize()
{
//文件路径
string fileName = "文件.txt";
//需要一个stream,这里是直接把数据写入文件了
using (Stream sm = new FileStream(fileName, FileMode.Create, FileAccess.Read))
{
//获取数据
List<Programmer> pList = DataFactory.BuildProgrammerList();
//创建二进制序列化器
BinaryFormatter binformat = new BinaryFormatter();
//写入文件
binformat.Serialize(sm, pList);
}
//反序列化成对象,从文件中获取数据
using(Stream sm = new FileStream(fileName, FileMode.Open, FileAccess.ReadWrite))
{
//创建二进制序列化器
BinaryFormatter binformat = new BinaryFormatter();
//重置流位置
sm.Position = ;
//反序列化
List<Programmer> pList = (List<Programmer>)binformat.Deserialize(sm);
}
}
/// <summary>
/// soap序列化器
/// </summary>
public static void SoapSerialize()
{
//文件路径
string filePath = "文件.txt";
//需要一个Stream,这里直接把数据写入文件了
using (Stream sm = new FileStream(filePath, FileMode.Create, FileAccess.Read))
{
//获取数据
List<Programmer> pList = DataFactory.BuildProgrammerList();
//创建soap序列化器
SoapFormatter soapFormt = new SoapFormatter();
//写入文件
soapFormt.Serialize(sm, pList);
}
//反序列化
using (Stream sm = new FileStream(filePath, FileMode.Open, FileAccess.ReadWrite))
{
//创建soap序列化器
SoapFormatter soapFormat = new SoapFormatter();
//序列化成对象
List<Programmer> pList = (List<Programmer>)soapFormat.Deserialize(sm);
}
}
/// <summary>
/// XML序列化器
/// </summary>
public static void XmlSerialize()
{
//文件路径
string filePath = "";
using(Stream sm = new FileStream(filePath, FileMode.Create, FileAccess.Read))
{
List<Programmer> pList = DataFactory.BuildProgrammerList();
//创建xml序列化器,需要指定对象的类型
XmlSerializer xmlFormat = new XmlSerializer(typeof(List<Programmer>));
//写入文件
xmlFormat.Serialize(sm, pList);
}
using (Stream sm = new FileStream(filePath, FileMode.Create, FileAccess.ReadWrite))
{
//创建xml序列化器
XmlSerializer xmlFormat = new XmlSerializer(typeof(List<Programmer>));
//反序列化成对象
List<Programmer> pList = (List<Programmer>)xmlFormat.Deserialize(sm);
}
}

.NET 二进制序列化器,SOAP序列化器,XML序列化器的更多相关文章

  1. XmlSerializer 对象的Xml序列化和反序列化

    http://www.cnblogs.com/yukaizhao/archive/2011/07/22/xml-serialization.html 这篇随笔对应的.Net命名空间是System.Xm ...

  2. XmlSerializer 对象的Xml序列化和反序列化,XMLROOT别名设置

    这篇随笔对应的.Net命名空间是System.Xml.Serialization:文中的示例代码需要引用这个命名空间.   为什么要做序列化和反序列化? .Net程序执行时,对象都驻留在内存中:内存中 ...

  3. C#操作Xml:XmlSerializer 对象的Xml序列化和反序列化

    这篇随笔对应的.Net命名空间是System.Xml.Serialization:文中的示例代码需要引用这个命名空间. 为什么要做序列化和反序列化? .Net程序执行时,对象都驻留在内存中:内存中的对 ...

  4. Xml 序列化

    1 XML序列化只能序列化对象的公有属性,并且要求对象有一个无参的构造方法,否者无法反序列化. 2 [Serializable]和[NonSerialized]特性对XML序列化无效!所以使用XML序 ...

  5. Xml序列化、反序列化帮助类

    之前从网络上找了一个Xml处理帮助类,并整理了一下,这个帮助类针对Object类型进行序列化和反序列化,而不需要提前定义Xml的结构,把它放在这儿供以后使用 /// <summary> / ...

  6. IOSerialize,xml和json,soap序列化器,二进制序列化器,XML序列化器,文件 检查、新增、复制、移动、删除

    1 文件夹/文件 检查.新增.复制.移动.删除,2 文件读写,记录文本日志/读取配置文件3 三种序列化器4 xml和json1.文件夹/文件 检查.新增.复制.移动.删除,2 文件读写,记录文本日志/ ...

  7. Android 使用xml序列化器生成xml文件

    在<Android 生成xml文件>一文中使用流的形式写入xml格式文件,但是存在一定的问题,那就是在短信内容中不能出现<>之类的括号,本文使用xml序列化器来解决 xml序列 ...

  8. 使用XML序列化器生成XML文件和利用pull解析XML文件

    首先,指定XML格式,我指定的XML格式如下: <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <message&g ...

  9. 使用XMl序列化器生成xml文件

    生成XML文件 创建几个虚拟的短信对象,存在list中 备份数据通常都是备份至sd卡 使用StringBuffer拼接字符串 把整个xml文件所有节点append到sb对象里 sb.append(&q ...

随机推荐

  1. SELECT LAST_INSERT_ID() 的使用和注意事项

    SELECT LAST_INSERT_ID() 的使用和注意事项 尊重个人劳动成果,转载请注明出处: http://blog.csdn.net/czd3355/article/details/7130 ...

  2. iOS常用RGB颜色的色值

    常用RGB颜色表  色值 R G B 值 R G B 值 R G B 值 黑色 0 0 0 #000000 黄色 255 255 0 #FFFF00 浅灰蓝色 176 224 230 #B0E0E6 ...

  3. bzoj 1221 [HNOI2001] 软件开发 费用流

    [HNOI2001] 软件开发 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1938  Solved: 1118[Submit][Status][D ...

  4. Qt -------- 多线程编程

    一.继承QThread(不推荐) 定义一个类,继承QThread,重写run(),当调用方法start(),启动一个线程,run()函数运行结束,线程结束. 二.继承QRunnable Qrunnab ...

  5. 【BZOJ4869】相逢是问候 [线段树][欧拉定理]

    相逢是问候 Time Limit: 40 Sec  Memory Limit: 512 MB[Submit][Status][Discuss] Description Informatikverbin ...

  6. 【BZOJ】1578: [Usaco2009 Feb]Stock Market 股票市场

    [题意]给定s个股票和d天,给出价格矩阵s*d,每天可以买入或卖出整数倍股票,初始资金m,求最大利益.m<=200000,s<=50,d<=10. [算法]完全背包 [题解]关键在于 ...

  7. UIToolBar的半透明属性设置

      UIToolBar的半透明属性设置style:Translucent(Ps:长得很像翻译translation)   https://www.evernote.com/shard/s227/sh/ ...

  8. 【洛谷 P2762】 太空飞行计划问题(最大权闭合图)

    题目链接 最大权闭合图模型,参考 具体做法是从源点向每个实验连一条流量为这个实验的报酬的边,从每个实验向这个实验需要的所有器材各连一条流量为\(INF\)的边,再从每个器材向汇点连一条流量为这个器材的 ...

  9. python数据处理课程笔记(一)

    一.numpy 1.numpy中所有元素必须是相同的类型 a=[1,2,3,4,'t'] #列表中有str类型,转换为ndarray时所有元素都转换为str类型 arr1=np.array(a) pr ...

  10. bzoj 1079 DP

    比较容易看出来是DP,但是如果我们记录每一种颜色还剩多少种的话,消耗的转移的时间复杂度5^15,但是我们考虑到每一种颜色,如果数量相同的话,其实是等效的,所以我们用w[a][b][c][d][e][l ...