在.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; }
}
}