XmlSerializer
将对象序列化到 XML 文档中和从 XML 文档中反序列化对象,XML 序列化是将对象的公共属性 (Property) 和字段转换为序列格式(这里是指 XML)以便存储或传输的过namespace ConsoleApplication1
{public class Test{public string Id { get; set; }public string Name { get; set; }}class Program{static void Main(string[] args){Test t = new Test() { Id="0",Name="00"};t.Id = "1";t.Name = "hello";string s = SerializeObj<Test>(t); //把Test类序列化为xml文件
Test tt = DeseriaLizeObj<Test>(s) as Test; //从xml文件,反序列化为Test类,把Id,Name的值赋值为xml中结点Id,Name,的值
//序列化后,写s入到.txt文本//FileStream fs = new FileStream("E:\\a.txt", FileMode.Create, FileAccess.Write);//StreamWriter sw = new StreamWriter(fs);//sw.WriteLine(s);//sw.Close();//fs.Close();
//从.txt文本读取值,反序列化为Test类//StreamReader sr = new StreamReader("E:\\a.txt",Encoding.Default);//string ss;//string sss = "";//while ((ss = sr.ReadLine()) != null)//{// sss += ss;// }//sr.Close();//Test tt = DeseriaLizeObj<Test>(sss) as Test;
Console.ReadLine(); }static T DeseriaLizeObj<T>(string xml){XmlSerializer xs = new XmlSerializer(typeof(T));StringReader sr = new StringReader(xml);object obj = xs.Deserialize(sr);sr.Close();return (T)obj;}static string SerializeObj<T>(T t){XmlSerializer xs = new XmlSerializer(typeof(T));StringWriter sw = new StringWriter();xs.Serialize(sw, t);return sw.ToString();}} }