C# 将对象序列化为XML
在.Net 中 我们可以把C# 对象转化成为xml ,也可以把xml转化为 C#对象:
如下例子:
using System; using System.Text; using System.Xml; using System.Xml.Serialization; using System.IO; namespace Object2xml { class Program { static void Main(string[] args) { hooyes a = new hooyes(); a.ID = 1; a.Author = "hooyes"; a.content = "www.hooyes.com"; subcalss s=new subcalss(); s.item="ok"; a.sub = s; //将对象序列化成xml string xml = Serialize<hooyes>(a); Console.WriteLine(xml); //将xml反序列化成对象 hooyes b = new hooyes(); b= Deserialize<hooyes>(b, xml); Console.WriteLine(b.content); Console.Read(); } static string Serialize<T>(T t) { using (StringWriter sw = new StringWriter()) { XmlSerializer xz = new XmlSerializer(t.GetType()); xz.Serialize(sw, t); return sw.ToString(); } } static T Deserialize<T>(T t, string s) { using (StringReader sr = new StringReader(s)) { XmlSerializer xz = new XmlSerializer(t.GetType()); return (T)xz.Deserialize(sr); } } } //[XmlRoot("root")] public class hooyes { // [XmlAttribute(AttributeName = "ID")] public int ID { get; set; } public string Author { get; set; } public string content { get; set; } public subcalss sub { get; set; } } public class subcalss { public string item { get; set; } } }