代码

XML序列化工具类

 public static class XMLHelper{/// <summary>/// 将对象序列化为指定的文件名/// </summary>/// <typeparam name="T"></typeparam>/// <param name="obj"></param>/// <param name="fileName"></param>/// <returns></returns>public static bool SaveObjAsXml<T>(T obj,string fileName){var dir = Application.StartupPath;try{FileStream fs = new FileStream(dir+"/"+fileName, FileMode.Create);XmlSerializer xs = new XmlSerializer(typeof(T));xs.Serialize(fs, obj);fs.Close();return true;}catch (Exception e){Console.WriteLine(e);throw;}}/// <summary>/// 将xml文件进行反序列化/// </summary>/// <typeparam name="T"></typeparam>/// <param name="fileName"></param>/// <returns></returns>public static T DecodeXML<T>(string fileName){var dir = Application.StartupPath;fileName = dir + "/" + fileName;try{if (File.Exists(fileName)==false)return default(T);FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);XmlSerializer xs = new XmlSerializer(typeof(T));T obj = (T)xs.Deserialize(fs);return obj;}catch(Exception ex){Console.WriteLine(ex.Message);throw;}}}

对应的窗体数据类可以定义为:

[XmlRoot]public class WindowsData:PropertyChangedBase{[XmlElement("WindowsIndex")]/// <summary>/// Windows窗体索引/// </summary>public int WindowsIndex{get;set; }[XmlElement("FontSize")]private double fontSize=14;/// <summary>/// 窗体字体/// </summary>public double FontSize{get { return fontSize;}set{fontSize=value;OnPropertyChanged("FontSize");}}private Point startUpPosition;[XmlElement("LeftTopWinPosition")]public Point StartUpPosition{get { return startUpPosition; }set{startUpPosition = value;OnPropertyChanged("StartUpPosition");}}/// <summary>/// 窗体宽度/// </summary>private int windowsWidth;public int WindowsWidth{get { return windowsWidth; }set { windowsWidth = value;OnPropertyChanged("WindowsWidth"); }}private int windowsHeight;public int WindowsHeight{get { return windowsHeight; }set{windowsHeight = value;OnPropertyChanged("WindowsHeight");}}private string richTextBoxContent;[XmlElement("UserInputNotes")]public string RichTextBoxContent{get { return richTextBoxContent; }set{richTextBoxContent = value;OnPropertyChanged("RichTextBoxContent");}}public WindowsData(){
//            MessageBox.Show("新的窗体数据加载了");WindowsIndex = GenerateWindowsIndex.Generate();WindowsWidth = 350;WindowsHeight = 450;double screenHeight = SystemParameters.FullPrimaryScreenHeight;double screenWidth = SystemParameters.FullPrimaryScreenWidth;StartUpPosition =new Point((screenWidth - WindowsWidth)/2,(screenHeight - WindowsHeight)/2);}}

转载于:https://www.cnblogs.com/lizhenghao126/p/11053590.html

[WPF]xml序列化以及反序列化数据相关推荐

  1. 开心网外挂开发之 XML序列化于反序列化

    通过昨天的文章我们已经了解了开发一个开心网的外挂所需要的最基本的东本,接下来的工作可以说基本上就上围绕这个基础来进行的,我写这一系列文章主要的目地不仅仅是为了让大家了解怎么开发开心网外挂,最主要的目过 ...

  2. XML 序列化与反序列化

    XML序列化与反序列化 1.将一个类转化为XML文件 /// <summary>/// 对象序列化成XML文件/// </summary>/// <param name= ...

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

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

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

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

  5. XML序列化和反序列化(C#)

    主要参考资料: http://www.codeproject.com/Articles/483055/XML-Serialization-and-Deserialization-Part-1 http ...

  6. C# XML 序列化 及 反序列化

    百科:序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程.在序列化期间,对象将其当前状态写入到临时或持久性存储区.以后,可以通过从存储区中读取或反序列化对象的状态, ...

  7. XML序列化和反序列化 以及相关类的写法

    类的写法: 省网办数据对接中运用到 using System; using System.Collections.Generic; using System.Linq; using System.Te ...

  8. ASP.NET 对类进行XML序列化和反序列化

    1 序列化方法 public void SerializeObject<T>(string Xmlname,T t){XmlSerializer ser = new XmlSerializ ...

  9. C# XML序列化和反序列化

    原文:http://www.cnblogs.com/nhxy/archive/2010/11/16/1878409.html 本文描述如何使用CLR中的StringWriter,XmlSerializ ...

最新文章

  1. python open 打开是什么类型的文件-详解Python中open()函数指定文件打开方式的用法...
  2. centos6 安装 mantisbt-1.2.8 —— (2)【linux】VMware安装CentOS 6.4
  3. 针对$_SERVER[’PHP_SELF’]的跨站脚本攻击(XSS)
  4. sqlite的控制台中文显示问题
  5. 从零开始学数据结构和算法(二)线性表的链式存储结构
  6. SAP Spartacus的Lock Focus Directive单元测试实现
  7. php对mysql基础操作_php+mysql的基础操作
  8. select 移动端 第一个无法选中_总结在移动端碰到的坑
  9. 图论--最短路径--观光旅游
  10. 扫描工具扫描法查看网内IP使用情况
  11. mysql pxc 使用_MySQL PXC集群安装配置
  12. 优酷1080p的kux格式文件转换方法
  13. PCB设计中常见的错误与解决方法
  14. 产品原型设计实战(一):产品设计相关工作
  15. 【pyecharts | 颜色配置】关于pyecharts中自定义颜色问题详解
  16. ES文件浏览器(清理垃圾神器, 强大网盘管理功能, 强大文件分析能力)
  17. python怎么编写重复程序,python重复执行怎么写
  18. 新监管新纪元 大浪淘沙始见金——“9·4”政策回顾·行业前瞻
  19. 企业信息安全危机新花招——以疫苗为诱饵
  20. crt显存试题计算机,2008年9月全国计算机三级考试《PC技术》笔试真题

热门文章

  1. Hive环境搭建(完整版)-配置
  2. 【HDU - 6447】YJJ's Salesman(降维dp,树状数组优化dp)
  3. 【CCFCSP- 201312-4】有趣的数(线性dp)
  4. 中原标准时间对时_GPS对时系统(时间同步系统)应用电子政务
  5. linux信号值头文件位置,Linux C 信号处理机制
  6. android设置window背景颜色,android – 设置标题背景颜色
  7. a1708硬盘转接口_资讯:希捷上架新款银河Exos系列机械硬盘,15000转+SAS协议
  8. 【算法系列之十二】最接近的三数之和
  9. (acm)C++加速输入的几种方法
  10. 约瑟夫环-(数组、循环链表、数学)