我有一个处理XML序列化的类。
public class DB
{
public List<Connection> lstConnections { get; set; }
static string sRootAttribute = "Connections";
public static DB LoadFromFile(string path)
{
FileStream fs = null;
DB db = null;
try
{
fs = File.Open(path, FileMode.Open);
var serializer = new XmlSerializer(typeof(DB), new XmlRootAttribute(sRootAttribute));
db = (DB)serializer.Deserialize(fs);
}
catch
{
}
if (fs != null)
{
fs.Close();
}
return db;
}
public static void SaveToFile(string path, object objData)
{
var fs = File.Open(path, FileMode.Create);
var serializer = new XmlSerializer(objData.GetType(), new XmlRootAttribute(sRootAttribute));
try
{
serializer.Serialize(fs, objData);
}
catch
{
}
fs.Close();
}
}
LoadFromFile
方法有些通用,因为它不考虑序列化数据类型
但是,SaveToFile
对要序列化的对象执行GetType
因此,当我尝试使用LoadFromFile
反序列化文件时,我遇到了问题。我没有得到任何例外,但lstConnections
是空的。
答案 0 :(得分:0)
如果您拥有Connection类的所有权,那么: