Сохранение объектов класса в Xml файл - C#
Формулировка задачи:
нужно сохранить значение классов в xml файл
описание одного из классов
заполнение этого класса
код сохранения в xml файл
выдаёт следующую ошибку
прошу помощи
class AnimalTip
{
private string _name_tip; //название типа
private string _inform; //инфо о типе
private string _habitat; //среда обитания
public AnimalTip(string name_tip, string inform, string habitat)
{
_name_tip = name_tip;
_inform = inform;
_habitat = habitat;
}
public AnimalTip()
{
}
public string Name_Tip
{
get { return _name_tip; }
set { _name_tip = value; }
}
public string Inform
{
get { return _inform; }
set { _inform = value; }
}
public string Habbitat
{
get { return _habitat; }
set { _habitat = value; }
}
public virtual void saveFile(string path)
{
using (StreamWriter sw = File.AppendText(path))
{
sw.WriteLine("Тип животного:");
sw.WriteLine(_name_tip);
sw.WriteLine(_inform);
sw.WriteLine(_habitat);
}
}
}tipAnimalList.Add(new AnimalTip("Хордовые", "Тип 4300 видов", "Вода, Суша"));
tipAnimalList.Add(new AnimalTip("Членистоноогие", "Тип взятых.", "Вода, Наземно-воздушная, Почва"));private void SaveToolStripMenuItem_Click(object sender, EventArgs e)
{
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
try
{
FileStream stream = new FileStream(this.saveFileDialog1.FileName, FileMode.Create);
XmlSerializer serializer = new XmlSerializer(typeof(AnimalTip));
serializer.Serialize(stream, tipAnimalList);
stream.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), "Ошибка создания файла!");
}
}
}Решение задачи: «Сохранение объектов класса в Xml файл»
textual
Листинг программы
private void openToolStripMenuItem_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
try
{
FileStream stream = new FileStream(this.openFileDialog1.FileName, FileMode.Open);
XmlSerializer serializer = new XmlSerializer(typeof(List<AnimalTip>));
tipAnimalList = serializer.Deserialize(stream) as List<AnimalTip>;
XmlSerializer serializer1 = new XmlSerializer(typeof(List<ClassAnimal>));
classAnimalList = serializer1.Deserialize(stream) as List<ClassAnimal>;
XmlSerializer serializer2 = new XmlSerializer(typeof(List<GroupAnimal>));
groupAnimalList = serializer2.Deserialize(stream) as List<GroupAnimal>;
XmlSerializer serializer3 = new XmlSerializer(typeof(List<FamilyAnimal>));
familyAnimalList = serializer3.Deserialize(stream) as List<FamilyAnimal>;
stream.Close();
fillingTreeView();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), "Ошибка чтения файла!");
}
}
}