最近经常用到xml序列化和反序列化这个 于是便记录下来:
[Serializable]
public class Person
{
public int id;
//加入XmlIgnore头 该字段不会被序列化进xml中
[XmlIgnore]
public string name;
public PersonType type;
}
//加入XmlEnum头 可以让枚举序列化
public enum PersonType
{
[XmlEnum(Name = "Woman")]
Woman,
[XmlEnum(Name = "Man")]
Man
}
public class Test
{
public void Serializer(List<Person> list,string path)
{
//设置xml的编码
StreamWriter sw = new StreamWriter(path,false, Encoding.GetEncoding("UTF-8"));
XmlSerializer xml = new XmlSerializer(typeof(List<Person>));
xml.Serialize(sw, list);
sw.Close();
}
public List<Person> Deserialize(string path)
{
string text = File.ReadAllText(path);
XmlSerializer ser = new XmlSerializer(typeof(List<Person>));
StringReader sr = new StringReader(text);
List<Person> list = (List<Person>)ser.Deserialize(sr);
return list;
}
}
有什么问题可以加我QQ 851267723 说明来意即可