Сохранение объектов класса в Xml файл - C#

Узнай цену своей работы

Формулировка задачи:

нужно сохранить значение классов в 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("Членистоноогие", "Тип  взятых.", "Вода, Наземно-воздушная, Почва"));
код сохранения в xml файл
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(), "Ошибка чтения файла!");
                }
            }
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5