【发布时间】:2013-07-27 19:14:35
【问题描述】:
我一直在用传统的方式用下面的代码序列化内容
private void SaveToXml(IdentifiableEntity IE)
{
try
{
XmlSerializer serializer = new XmlSerializer(IE.GetType());
TextWriter textWriter = new StreamWriter(IE.FilePath);
serializer.Serialize(textWriter, IE);
textWriter.Close();
}
catch (Exception e )
{
Console.WriteLine("erreur : "+ e);
}
}
private T LoadFromXml<T>(string path)
{
XmlSerializer deserializer = new XmlSerializer(typeof(T));
TextReader textReader = new StreamReader(path);
T entity = (T)deserializer.Deserialize(textReader);
textReader.Close();
return entity;
}
虽然这种方法可以解决问题,但我发现我的所有属性都必须是公开的有点烦人,有时我需要标记属性 [XmlAttribute|XmlElement| XmlIgnore] 并且它不处理字典。
我的问题是:有没有更好的方法在 c# 中序列化对象,一种更简单、更现代且易于使用的方法?
【问题讨论】:
-
你试过soap吗?....当然还有二进制文件...
-
查看这篇文章关于肥皂的部分 - codeproject.com/Articles/11079/…
标签: c# xml-serialization xml-deserialization