Код: Выделить всё
Minutes
30
3
Я могу без проблем загрузить файл из файла с помощью этого кода:
Код: Выделить всё
SaveFile = new XmlDocument();
SaveFile.Load("fractionator-save.xml");
switch(SaveFile.DocumentElement.SelectSingleNode("/fractionator-save/output-type").InnerText)
{
case "Hours":
OutputType = Output.Hours;
break;
case "Minutes":
OutputType = Output.Minutes;
break;
case "Seconds":
OutputType = Output.Seconds;
break;
case "Frames":
OutputType = Output.Frames;
break;
}
Код: Выделить всё
OutputЧто странно, когда я пытаюсь написать новое значение в XML:
Код: Выделить всё
Key = Console.ReadKey();
switch(Key.KeyChar)
{
case '1':
SaveFile.DocumentElement.SelectSingleNode("/fractionator-save/output-type").InnerText = "Hours";
return Output.Hours;
case '2':
SaveFile.DocumentElement.SelectSingleNode("/fractionator-save/output-type").InnerText = "Minutes";
return Output.Minutes;
case '3':
SaveFile.DocumentElement.SelectSingleNode("/fractionator-save/output-type").InnerText = "Seconds";
return Output.Seconds;
case '4':
SaveFile.DocumentElement.SelectSingleNode("/fractionator-save/output-type").InnerText = "Frames";
return Output.Frames;
default:
InvalidInput = true;
Console.WriteLine("Error: Invalid input.");
break;
}
Подумал, что это может быть проблема с областью действия (чтение и запись выполняются в отдельных методах одного и того же класса, а SaveFile статическая переменная в этом классе) Я попробовал передать эту переменную в качестве аргумента методу записи, но безрезультатно. Чтение документации также не помогло, так как там было просто сказано писать записи XML (странно это говорить!), как я уже делал. Я уверен, что я просто упускаю что-то, что должно быть очевидно, но это меня очень расстраивает.
Подробнее здесь: https://stackoverflow.com/questions/793 ... rite-to-it
Мобильная версия