我需要将其反序列化为类
[Serializable]
public class MasterSettingsFile
{
public string version { get; set; }
public bool IsEncrypted { get; set; }
public string settingsString { get; set; }
public string GetSettingsString()
{
if(IsEncrypted)
{
// return decrypted string
}
return settingsString;
}
}
我需要将<settingString>
下的整个文本作为字符串
我尝试了正常的反序列化。但是给出错误。尝试将整个节点添加到“值”,但仍然是“ <”会导致问题。
答案 0 :(得分:0)
受保护的布尔WriteConfigFile(字符串fileName,类型类型,对象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不是使用序列化形成的。一旦这样做,反序列化就可以正常工作。序列化后,它将使用转义符号自动保存。