這兩天,應要求做一個C/S的小程序,考慮到程序簡潔小巧,存數據的方式不使用數據庫,而是直接存入XML文檔中保存。為了把復雜實體類里面的屬性存入XML,我們可以使用C#有的反射機制,做一個簡單的通用工具類來實現。(需要設置屬性為public)
弱弱的問一句,這種“序列化”的說法是對的嗎?如果我說錯了記得提醒我一下(⊙v⊙)
我發現我又二貨了一把,序列話和反序列化前輩已經寫得很好很詳細了Fish Li
實現類代碼:
using System;using System.Reflection;using System.Xml.Linq;namespace MyTool{ public static class ObjectToXml { public static string Path { get { return String.Format(@"{0}/{1}.xml", Environment.CurrentDirectory,DateTime.Now.Day.ToString()); } } public static void Intit(object ob) { XDocument doc = new XDocument(new XDeclaration("1.0", "utf-8", "yes"), new XElement("Data")); //建立跟節點 <Data></Data> View Code使用:
using System;using MyTool;namespace xmltest{ class Program { static void Main(string[] args) { var a = new student { Name = "memeda", age = 10,gg=1.5, more=new info { boy="nan", moreinfo=new moreinfo { mv="mv" } } }; ObjectToXml.Intit(a); Console.ReadKey(); } } public class student { public string Name { get; set; } public int age { get; set; } public double gg { get; set; } public info more { get; set; } } public class info { public moreinfo moreinfo { get; set; } public string boy { get; set; } } public class moreinfo { public string mv { get; set; } }}最后的效果:
新聞熱點
疑難解答