C# 序列化(Binary、Xml、Soap)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Xml.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
using System.Runtime.Serialization.Formatters.Soap; namespace Serialization
{
class Program
{
static void Main(string[] args)
{
Student stu = new Student("张三", , "登山"); ////二进制序列化
//BinaryFormatter bf = new BinaryFormatter();
//FileStream fs = new FileStream(@"D:\stu.ss", FileMode.Create);
//bf.Serialize(fs, stu);
//fs.Close(); ////二进制反序列化
//BinaryFormatter bf = new BinaryFormatter();
//FileStream fs = new FileStream(@"D:\stu.ss", FileMode.Open);
//Student student = (Student)bf.Deserialize(fs);
//student.method(); ////xml序列化
//XmlSerializer xml = new XmlSerializer(typeof(Student));
//FileStream fs = new FileStream(@"D:\stu.xml",FileMode.Create);
//xml.Serialize(fs, stu);
//fs.Close(); ////xml反序列化
//XmlSerializer xml = new XmlSerializer(typeof(Student));
//FileStream fs = new FileStream(@"D:\stu.xml", FileMode.Open);
//Student student = (Student)xml.Deserialize(fs);
//student.method(); ////soap序列化
//SoapFormatter soap = new SoapFormatter();
//FileStream fs = new FileStream(@"D:\stu.soap", FileMode.Create);
//soap.Serialize(fs, stu);
//fs.Close(); //soap反序列化
SoapFormatter soap = new SoapFormatter();
FileStream fs = new FileStream(@"D:\stu.soap", FileMode.Open);
Student student = (Student)soap.Deserialize(fs);
student.method(); }
} [Serializable]
public class Person
{
public Person()
{ } public Person(string name, int age)
{
this.Name = name;
this.Age = age;
} public string Name
{
get;
set;
}
public int Age
{
get;
set;
}
} [Serializable]
public class Student : Person
{
public Student()
{ } public Student(string name, int age, string hobby)
: base(name, age)
{
this.Hobby = hobby;
} public string Hobby
{
get;
set;
} public void method()
{
Console.WriteLine("大家好,我叫{0},今年{1}岁,我喜欢{2}", this.Name, this.Age, this.Hobby);
//Console.ReadLine();
}
}
}
C# 序列化(Binary、Xml、Soap)的更多相关文章
- C# 序列化与反序列化之Binary与Soap无法对泛型List<T>进行序列化的解决方案
C# 序列化与反序列化之Binary与Soap无法对泛型List<T>进行序列化的解决方案 新建Console控制台项目项目,然后添加Team和Person 这2个类,如下: Team和P ...
- .NET 二进制序列化器,SOAP序列化器,XML序列化器
这里就不说JSON序列化了,只介绍三种:二进制序列化器,SOAP序列化器,XML序列化器 直接上代码: /// <summary> /// 二进制序列化器. /// 最节省流量,压缩程度最 ...
- ILJMALL project过程中遇到Fragment嵌套问题:IllegalArgumentException: Binary XML file line #23: Duplicate id
出现场景:当点击"分类"再返回"首页"时,发生error退出 BUG描述:Caused by: java.lang.IllegalArgumentExcep ...
- Binary XML file line #2: Error inflating
06-27 14:29:27.600: E/AndroidRuntime(6936): FATAL EXCEPTION: main 06-27 14:29:27.600: E/AndroidRunti ...
- Android项目部署时,发生AndroidRuntime:android.view.InflateException: Binary XML file line #168: Error inflating class错误
这个错误也是让我纠结了一天,当时写的项目在安卓虚拟机上运行都很正常,于是当我部署到安卓手机上时,点击登陆按钮跳转到用户主界面的时候直接结束运行返回登陆界面. 当时,我仔细检查了一下自己的代码,并 ...
- net中序列化读写xml
参考http://www.cnblogs.com/fish-li/archive/2013/05/05/3061816.html 我们可以直接使用XmlTextReader.XmlDocument.X ...
- 在.net中序列化读写xml方法的总结
在.net中序列化读写xml方法的总结 阅读目录 开始 最简单的使用XML的方法 类型定义与XML结构的映射 使用 XmlElement 使用 XmlAttribute 使用 InnerText 重命 ...
- bug_ _图片_android.view.InflateException: Binary XML file line #1: Error inflating class <unknown>
=========== 1 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.zgan.communit ...
- bug_ _ android.view.InflateException: Binary XML file line #2: Error inflating class <unknown
========= 5.0 android异常“android.view.InflateException: Binary XML file line # : Error inflating ...
- C#_在.net中序列化读写xml方法的总结
阅读目录 开始 最简单的使用XML的方法 类型定义与XML结构的映射 使用 XmlElement 使用 XmlAttribute 使用 InnerText 重命名节点名称 列表和数组的序列化 列表和数 ...
随机推荐
- 3、PACBIO下机数据如何看
转载:http://www.cnblogs.com/jinhh/p/8328818.html 三代测序的下机数据都有哪些,以及他们具体的格式是怎么样的(以sequel 平台为主). 测序过程 SMRT ...
- elasticsearch 6.2.4 安装 elasticsearch-analysis-ik 分词器 (windows 10下)
访问 https://github.com/medcl/elasticsearch-analysis-ik 找 releases 找到对应的 es 版本 下载 elasticsearch-analy ...
- CH 4302 Interval GCD
辗转相减法的扩展 $gcd(x, y, z) = gcd(x, y - x, z - y)$ 当有n个数时也成立 所以构造$a_{i}$的差分数组$b_{i} = a_{i} - a_{i - 1}$ ...
- js定时任务
<input type="button" id="btn" value="保存图片" onclick="settime(th ...
- python-ASCII与Unicode
# Auther: Aaron Fan'''ASCII:不支持中文,1个英文占1个字节Unicode(万国码,支持所有国家的文字显示):支持中文,但是每个英文和中文都占2个字节UTF-8(是一种针对U ...
- 共享库so
so文件在linux中为共享库,与windows下的dll类似. so文件中的函数可供多个进程调用,最大可能的提供二进制代码的复用. 共享库可以使代码的维护工作大大简化,当修正了一些错误或者添加了新特 ...
- 【实习项目记录】(四)Android 实现手机验证时,按钮倒计时60s
手机注册一般都会有一个按钮,默认显示获取验证码,点击之后变成xx秒之后重新获取验证码 在网上查到有两种方法可以实现这种功能,一种是自定义一个timeButton,另外一种是利用封装好的60秒获取验证码 ...
- ROS nodelet 理解记录
发现网上许多的例子都是基于官网的例子,还需要做进一步的说明. 1. NODELET_DEBUG 是无法打印的信息的,需要使用NODELET_INFO NODELET_DEBUG("Addin ...
- appium自动化安装(一)
1.首先去 https://github.com/ 了解一下appium一些相关信息 2.安装node.js:node.js官方网站:https://nodejs.org/ 安装完成,打开Wind ...
- register的功能
register:这个关键字请求编译器尽可能 的将变量存在CPU内部寄存器中,而不是通过内存寻址访问,以提高效率.这里注意是尽可能,不是绝对.你想想,一个CPU拥有 的寄存器也就那么几个或几十个,你要 ...