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开放接口,接口提供的 ...
随机推荐
- Java 7之集合类型 - 二叉排序树、平衡树、红黑树---转
http://blog.csdn.net/mazhimazh/article/details/19961017 为了理解 TreeMap 的底层实现,必须先介绍排序二叉树和平衡二叉树,然后继续介绍红黑 ...
- 我的Blog开张啦,欢迎大家赏脸
Blog开张,以后会慢慢更新工作.学习遇到的问题,总结一些经验,观众老爷们多多支持!!! ^_^
- c#删除转义字符的方法,删除\0后所有字符串(菜鸟级别)
string str = "78738\01212"; string str_2= Regex.Unescape(str); int index = str_2.IndexOf(& ...
- 【Android 界面效果35】管理Fragments
http://www.cnblogs.com/mengdd/archive/2013/01/09/2853254.html
- 【开源项目5】测滑菜单MenuDrawer的使用以及解析
在安卓中左右侧滑菜单的使用用的比ios多得多,可能是谷歌带的头吧,几乎所有的谷歌应用都有侧滑菜单.谷歌没有开放这个源码,在一个成熟的开源代码出现之前,大家都是各自为战,偶尔能看到一个勉强实现了的.Me ...
- 一个简单的Python爬虫
写了一个抓taobao图片的爬虫,全是用if,for,while写的,比较简陋,入门作品. 从网页http://mm.taobao.com/json/request_top_list.htm?type ...
- javascript 编程技巧
1.巧用判断: 在js中,NaN,undefined,Null,0,"" 在转换为bool的时候,是false,所以,可以这样写. if(!obj) {} 表示一个对象如果为fal ...
- HDU 3038 How Many Answers Are Wrong (并查集)
How Many Answers Are Wrong Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Ja ...
- itunes connect提交app教程
.打开itunes connect登陆之后,选择Manage Your Apps,再选Add New App: .填写项目相关信息,不知道怎么填的点击问号查看: Bundle ID Suffix需要和 ...
- latex之设置字体大小
\tiny\scriptsize\footnotesize\small\normalsize\large\Large\LARGE\huge\Huge