XmlSerializer
將對象序列化到 XML 文檔中和從 XML 文檔中還原序列化對象,XML 序列化是將對象的公用屬性 (Property) 和欄位轉換為序列格式(這裡是指 XML)以便儲存或傳輸的過程
防止記憶體泄露(摘自MSDN)
為了提高效能,XML 序列化基礎結構動態產生程式集,以便對指定類型進行序列化和還原序列化。該基礎結構將找到並重新使用這些程式集。僅當使用以下建構函式時,才會發生此行為:
XmlSerializer(Type)
XmlSerializer(Type, String)
樣本
namespace CSharpDemo{ 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 = "1", Name = "hello" }; string s = SerializeObj<Test>(t); Console.WriteLine(s); Test tt = (Test)DeserializeObj<Test>(s); 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.Dispose(); 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(); } }}
更多詳細介紹可以參考MSDN