XML序列化/反序列化数据库形式保存和读取。
直接上码:
首先创建class1类
public class Class1
{ public string name { get; set; }
public int age { get; set; }
public bool sex { get; set; }
}
实例化class1对象并进行序列化和反序列化
static void Main(string[] args)
{
//实例化class1类
Class1 c1 = new Class1() { name = "jia", age = , sex = true }; //序列化(class1为反序列化已知对象)
XmlSerializer ser = new XmlSerializer(typeof(Class1)); // MemoryStream类是创建缓存以byte的形式临时存储数据
MemoryStream ms = new MemoryStream(); //将序列化对象c1序列化后缓存到ms对象中
ser.Serialize(ms, c1); //将缓存数据以utf8编码的形式读取并存入string对象(要保存的对象)
string xmlString = Encoding.UTF8.GetString(ms.ToArray()); //释放缓存
ms.Dispose(); //反序列化(class1为反序列化已知对象)
XmlSerializer dser = new XmlSerializer(typeof(Class1)); //读取到的以byte的形式存储的数据并以utf8编码的形式读取并存入string对象
Stream xmlStream = new MemoryStream(Encoding.UTF8.GetBytes(xmlString)); //进行反序列化并转换为类对象
Class1 c2 = dser.Deserialize(xmlStream) as Class1;
Console.Read();
}
XML序列化/反序列化数据库形式保存和读取。的更多相关文章
- C# XML序列化/反序列化参考
.NET提供了很不错的XML序列化/反序列化器,(它们所在的命名空间为System.Xml.Serialization)这是很方便的,下面对它的使用做一些总结,以供参考. 1,简单序列化 public ...
- C# Json库 和 xml 序列化反序列化 存在的问题
json 正常情况下不会对私有成员进行序列化和反序列化, 因此在用json做深拷贝时, 就会丢失数据. 解决办法: 声明成公有成员. json在序列化和反序列化时, 如果类中有IComma ...
- XML序列化反序列化—常用类
public class XMLSerializer { #region (public) xml序列化 /// <summary> /// ...
- php json与xml序列化/反序列化
在web开发中对象的序列化与反序列化经常使用,比较主流的有json格式与xml格式的序列化与反序列化,今天想写个jsop的小demo,结果发现不会使用php序列化,查了一下资料,做个笔记 简单数组js ...
- C# 复杂格式多级深度XML序列化反序列化
default.xml 文件如下: <config><partnerships> <partnership name="Main_Listener" ...
- C# XML序列化/反序列化类XmlSerializer使用示例
using System; using System.IO; using System.Text; using System.Xml; using System.Xml.Serialization; ...
- XML序列化反序列化
using System; using System.Collections.Generic; using System.IO; using System.Xml.Serialization; nam ...
- C# WPF xml序列化 反序列化
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.W ...
- sqlite数据库中 保存和读取UIData对象
+ (void)getPersonByID:(int)ID { sqlite3 *db = [DB open]; sqlite3_stmt *stmt = nil; int result = sqli ...
随机推荐
- IIS7配置https
To Install an SSL Certificate in Microsoft IIS 7 Click Start, mouse-over Administrative Tools, and t ...
- lihgtoj 1006
记忆化搜索下即可. #include<cstdio> #include<string> #include<cstring> #include<iostream ...
- C#替换双引号
context = context.Replace(@"""", "");
- SR4000(二)
返回相位(用于测距离,一个全相位代表5m) D=3*10^8/2f(60M)=5m full-phase(0xffff) 返回LED反射光的振幅和背景光均值 无效数据: B太大 幅度(也是16bit ...
- 搭建hdfs服务器集群的搭建+trash
完全分布式搭建需要三台机器:node1.node2和node3 搭建时间之前首先要保持时间一致:date ntpdateyum install ntpdatentpdate -u ntp.sjtu.e ...
- Nexus5如何手动OTA更新系统到4.4.3、4.4.4及常见问题回答
这里将记录一套行之有效的Nexus5手动升级方法,以帮助看见这篇文章的朋友成功将手头的Nexus5升级到4.4.4. 因为谷歌服务器的事,我的这次OTA更新起来走了很多弯路.我试过挂VPN等待系统来更 ...
- 把普通的git库变成bare库
$ cd your_repo $ mv .git .. && rm -fr * $ mv ../.git . $ mv .git/* . $ rmdir .git $ git conf ...
- [三]SpringMvc学习-封装、乱码问题、重定向、转发
1.对象属性自动封装 前台input 用对象的属性名,后台自动会封装为对象,类似struts 2.解决post乱码问题 在web.xml中配置过滤器 <filter> <filter ...
- Java RMI之介绍
http://zh.wikipedia.org/wiki/Java_RMI Java远程方法调用,即Java RMI(Java Remote Method Invocation)是Java编程语言里, ...
- eclipse mybatis Generator
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...