2011-09-20 44 views
2
class Server 
{ 
    public int ID { get; set; } 
    public string Name { get; set; } 
    public string Url { get; set; } 
    public string Login { get; set; } 
    public string Password { get; set; } 
    public string AdminEmail { get; set; } 
} 

我需要序列化到XML和反序列化List<Server> _servers最简单的方法;什么是序列化和反序列化到XML

感谢您的帮助!

回答

6

使用XmlSerializer类:

var servers = new List<Server>(); 
// fill servers... 
var serializer = new XmlSerializer(typeof(List<Server>)); 
using (var writer = new StreamWriter(filename)) 
{ 
    serializer.Serialize(writer, servers); 
} 
3

使用XmlSerializer连载

var serverInstances = new List<Server>(...); 
XmlSerializer serializer = new XmlSerializer(typeof(List<Server>)); 
using (FileStream stream = new FileStream(fileFullName, FileMode.Create)) 
{ 
    serializer.Serialize(stream, serverInstances); 
} 
+1

标记类为'Serializable'是没有必要的。 –

+0

不要忘记对于不想序列化的成员,有'NonSerializedAttribute'。并且'ISerializable'用于更好地控制过程。 – Skizz

+0

差不多,但是OP想要序列化'List ' – Jodrell