对于更有经验的开发人员,我有一个简短的问题。
我正在使用C#,我处于一种两难境地。
我有一个对象列表,我想将其序列化为xml格式。
为此,我使用了一种我发现有用的方法,如下所示。
public static void WriteToXmlFile<T>(string filePath, T objectToWrite, bool append = false) where T : new()
{
TextWriter writer = null;
try
{
var serializer = new XmlSerializer(typeof(T));
writer = new StreamWriter(filePath, append);
serializer.Serialize(writer, objectToWrite);
}
finally
{
if (writer != null)
writer.Close();
}
}
然后我有一个对象列表(通常几个实例,但可能多达几千个)或多或少包含如下参数:
2-3 integers
1-2 DateTimes
2 bools
List<string> containing 1-5 short (1 word) strings
string containing 10-30 characters
string containing 30-1000 characters
and maybe few short string more..
然后我想知道是否应该将整个这样的列表序列化为一个xml文件,或者最好将每个对象序列化为单独的文件。我想主要是为了稳定的目的(因为我在计算它不应该达到xml文件的大小限制,但我不确定)和性能(我有点可怕的是,单独的文件会增加所需的时间)。也许还有一些方面需要考虑。
我会感谢一些专家的意见。
我应该遵循哪种方式?
问候!
答案 0 :(得分:1)
这取决于您将如何使用序列化结果。如果您不单独使用序列化对象并且总是需要整个列表,那么请转到一个文件。否则也可以使用一个文件,但如果在测试期间发现它会导致性能问题,那么检查您的体系结构并使用XMLReader
或其他类型的存储(如数据库)是有意义的。