Как десериализовать весь родительский узел внутри XML в одну строку - PullRequest
0 голосов
/ 24 сентября 2018

У меня есть XML-файл с узлами, enter image description here

Мне нужно десериализовать его в класс

    [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> в виде строки

Я попробовал обычную десериализацию.Но выдает ошибку.Попытка добавления целого узла к значению, но все равно «<» вызывает проблему. </p>

1 Ответ

0 голосов
/ 25 сентября 2018

защищенный 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-символов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...