В моей программе C# WinForms у меня есть дерево, которое содержит только родительские узлы (так что никаких дочерних элементов), это похоже на список, но мне это нужно из-за наличия свойств differet таких как имя, тег и текст.Сохранение содержимого дерева в файл и загрузка его позже
Нет Я хочу, чтобы иметь возможность сохранить содержимое этого дерева в файл (в основном текстовый файл, который я называю * .MVIA). Вопрос в том, что является лучшим способом сохранить все три свойства узлов в файле, чтобы он мог загрузиться снова позже правильно?
На данный момент я пришел с этой идеей:
private void menuFileSave_Click(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder();
foreach(TreeNode node in treeViewFiles.Nodes)
{
sb.AppendLine(node.Name);
}
SaveFileDialog saveList = new SaveFileDialog();
saveList.DefaultExt = "*.mvia";
saveList.Filter = "MVIA Files|*.mvia";
if (saveList.ShowDialog() == DialogResult.OK)
{
File.WriteAllText(saveList.FileName, sb.ToString());
}
}
Как вы можете видеть, каждый Name свойство каждого узла будет сохранен в строке. Теперь мне нужно добавить свойство Text и Tag, но позже мне не удается его прочитать (честно говоря, я не знаю, как это сделать).
Не могли бы вы дать мне несколько идей, что является лучшим способом сохранить все три свойства каждого узла и иметь возможность загрузить его позже?
Спасибо.
Написать Информация о чем-то вроде класса Tree {List _ узлов; class Node {String Name; Строковый текст; String Tag;}}. Чем вы можете использовать сериализацию XML. Это самый универсальный способ, который я знаю. –
alehro
@alhero Спасибо, но для меня это немного сложно, можете ли вы привести примеры кода? –
alehro ссылается на ['XmlSerializer'] (http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx). На этой странице есть довольно много примеров кода. – Timwi