защищенный bool WriteConfigFile (строка fileName, тип Type, object obj) {bool retValue = true;
FileStream fileStream = null;
XmlSerializer xmlSerializer = null;
try
{
this.BackupFile(fileName);
fileStream = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.None);
xmlSerializer = new XmlSerializer(type);
xmlSerializer.Serialize(fileStream, obj);
}
catch (Exception ex)
{
retValue = false;
//LogManager.SingleInstance.WriteLog(this, ex.ToString());
}
finally
{
if (fileStream != null)
{
fileStream.Close();
}
if (retValue== false)
{
this.RestoreBackupFile(fileName);
}
this.DeleteBackupFile(fileName);
}
return retValue;
}
Основная проблема заключалась в том, что xml не был сформирован с использованием сериализации.Как только я это сделал, эта десериализация работала нормально.При сериализации он будет автоматически сохраняться с использованием escape-символов.