Windows 8.1 序列化与反序列化
/// <summary>
/// 对象序列化成 XML String
/// </summary>
public static void XmlSerialize<T>(T obj, string fieldTickefolderName, string fieldTicketName)
{
string xmlString = string.Empty;
System.Xml.Serialization.XmlSerializer xmlSerializer = new System.Xml.Serialization.XmlSerializer(typeof(T));
using (MemoryStream ms = new MemoryStream())
{
xmlSerializer.Serialize(ms, obj);
xmlString = Encoding.UTF8.GetString(ms.ToArray(), , ms.ToArray().Length);
}
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.LoadXml(xmlString);
IAsyncOperation<StorageFolder> storageFolder =
ApplicationData.Current.LocalFolder.CreateFolderAsync(fieldTickefolderName, CreationCollisionOption.ReplaceExisting);
IAsyncOperation<StorageFile> xmlStorageFile =
ApplicationData.Current.LocalFolder.CreateFileAsync(fieldTickefolderName+"\\"+fieldTicketName, CreationCollisionOption.ReplaceExisting);
xmlDocument.SaveToFileAsync(xmlStorageFile.GetResults()); }
///// <summary>
///// XML String 反序列化成对象
///// </summary>
public static async Task<T> XmlDeserialize<T>(string fieldTickefolderName, string fieldTicketName)
{
try
{
StorageFolder storageFolder = await ApplicationData.Current.LocalFolder.GetFolderAsync(fieldTickefolderName);
StorageFile xmlStorageFile = await storageFolder.GetFileAsync(fieldTicketName); var stream = await xmlStorageFile.OpenAsync(FileAccessMode.Read);
XmlLoadSettings xmlloadsettings = new XmlLoadSettings();
xmlloadsettings.ProhibitDtd = false;
xmlloadsettings.ResolveExternals = false;
XmlDocument doc = await XmlDocument.LoadFromFileAsync(xmlStorageFile, xmlloadsettings);
string xmlString = doc.GetXml();
T t = default(T);
System.Xml.Serialization.XmlSerializer xmlSerializer = new System.Xml.Serialization.XmlSerializer(typeof(T));
using (Stream xmlStream = new MemoryStream(Encoding.UTF8.GetBytes(xmlString)))
{
using (XmlReader xmlReader = XmlReader.Create(xmlStream))
{
Object obj = xmlSerializer.Deserialize(xmlReader);
t = (T)obj;
}
}
return t; }
catch (Exception ex)
{ throw new Exception(ex.Message);
} }
Windows 8.1 序列化与反序列化的更多相关文章
- 重新想象 Windows 8 Store Apps (60) - 通信: 获取网络信息, 序列化和反序列化
[源码下载] 重新想象 Windows 8 Store Apps (60) - 通信: 获取网络信息, 序列化和反序列化 作者:webabcd 介绍重新想象 Windows 8 Store Apps ...
- windows phone8.1:Xml,Json序列化和反序列化
原文:windows phone8.1:Xml,Json序列化和反序列化 小梦本例主要实现以下四点内容: 将Car对象序列化为xml 将Car对象序列化为Json 将xml反序列化为Car对象 将js ...
- windows环境下protobuf的java操作{编译,序列化,反序列化}
google protocol buffer的使用和原理 概况: Protocol Buffers(也就是protobuf)是谷歌的语言中立的.平台中立的.可扩展的用于序列化结构化的数据: windo ...
- Windows phone 之XML序列化与反序列化
为什么要做序列化和反序列化? 一个回答: 我们都知道对象是不能在网络中直接传输的,不过还有补救的办法.XML(Extensible Markup Language)可扩展标记语言,本身就被设计用来存储 ...
- 在C#中,Json的序列化和反序列化的几种方式总结
在这篇文章中,我们将会学到如何使用C#,来序列化对象成为Json格式的数据,以及如何反序列化Json数据到对象. 什么是JSON? JSON (JavaScript Object Notation) ...
- C#: .net序列化及反序列化 [XmlElement(“节点名称”)]
.net序列化及反序列化 序列化是指一个对象的实例可以被保存,保存成一个二进制串,当然,一旦被保存成二进制串,那么也可以保存成文本串了.比如,一个计数器,数值为2,我们可以用字符串“2”表示.如果有个 ...
- Webservice SOAP传输序列化总结 以及webservice之序列化以及反序列化实例
一.所有Webservice中传递的对象都必须能够序列化,这个是作为在网络之间传输的必要条件.XML WebService和SOAP标准支持的数据类型如下: 1.基本数据类型. 标准类型,如:int ...
- Java之对象序列化和反序列化
一.对象序列化和反序列化存在的意义: 当你创建对象,只要你需要,他就一直存在,但当程序结束,对象就会消失,但是存在某种情况,如何让程序在不允许的状态,仍然保持该对象的信息.并在下次程序运行的时候使用该 ...
- C#JSON序列化与反序列化
原文:C#JSON序列化与反序列化 windows phone学习也有一段时间了,想要做一个新闻客户端练练手,于是就在网上找看有没有接口之类.在天狗播客找到了热点热词新闻资讯API开放接口,接口提供的 ...
随机推荐
- _IO, _IOR, _IOW, _IOWR 宏的用法与解析
转载:http://blog.chinaunix.net/uid-20754793-id-177774.html 今天在写字符驱动验证程序的时候要用到ioctl函数,其中有一个cmd参数,搞了半天也不 ...
- Linux 命令 alternatives和update-alternatives
参考: http://lionbule.iteye.com/blog/717722 http://manpages.ubuntu.com/manpages/oneiric/man8/update-al ...
- Is an MTD device a block device or a char device?
转:http://www.linux-mtd.infradead.org/faq/general.html#L_mtd_what Note, you can find Ukranian transla ...
- mysql ERROR1405 access deny 问题解决
sudo /usr/local/mysql/bin/mysqld_safe --user=mysql --skip-grant-tables --skip-networking 使用这条命令可以跳过开 ...
- 3.6html学习笔记之样式选择
1.元素选择器 *{padding:0;margin:0;} p,span{} 2.类选择器 *.class{} p.class{} <p class="important class ...
- Keywords Search
Keywords Search Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- [MySQL] 数据统计 —— 按周,按月,按日分组统计数据
知识关键词:DATE_FORMAT select DATE_FORMAT(create_time,'%Y%u') weeks,count(caseid) count from tc_case grou ...
- 使用spring + cxf +tomcat构建webservice
这里使用maven构建的项目. 首先,我们构建一个maven项目: 然后将pom.xml文件中的内容拷贝到新建项目的pon.xml文件中: <project xmlns="http:/ ...
- Unhandled Error in Silverlight Application “Syncfusion.Silverlight.Olap.Gauge.OlapGauge”的类型初始值设定项引发异常
Silverlight 在运行时,如果出现如下错误: 检查生成的xap文件,解压出来,看是否里面包含该DLL:Syncfusion.Silverlight.Olap.Gauge.OlapGauge
- hdu 4705 排列组合
思路:枚举能是A,B,C在一条简单路径上的中点. 计算多少个几何能满足.在用总数减去 #pragma comment(linker, "/STACK:16777216") #inc ...