Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сохранение изагрузка коллекции из XML, XML и C# 
:(
    Опции темы
vinograd2008
Дата 30.4.2009, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 7.12.2008

Репутация: нет
Всего: нет



Помогите пожайлуста сделать.

Есть следующий код который находиться в архиве прикрепплённом к вопросу. 

Вместо сохранения и загрузки коллекции в файл, нужно сделать сохранение и загрузку коллекции в XML файл с помощью сериализации и десериализации. Кто знает как это сделать пожайлуста помогите. Перепробывал массу вариантов. Не один не помогает. Возникает исключения. Результат должен выводиться в ListBoxe.

Основный код того что нужно переделать взятый из архива:

Есть FileDAL, который описывает действия по работе с коллекцией

Код


using System;
using System.Collections.Generic; 
using System.Text;
using System.IO;
using Entities; 


namespace DAL
{

    public class FileDAL
    {

        public void Save(List<Disks> list)
        {
            StringBuilder sb = new StringBuilder();
            for(int i=0; i < list.Count; i++)
            {
                sb.AppendFormat("{0}-{1}-{2}\n", list[i].Name, list[i].Singer, list[i].Song);
            }
            if (list.Count != 0)
            {
                File.WriteAllText(AppDomain.CurrentDomain.BaseDirectory + "collection.txt", sb.ToString());
            }
        }

        public List<Disks> Load()
        {
            List<Disks> lst = new List<Disks>();
            if(File.Exists(AppDomain.CurrentDomain.BaseDirectory + "collection.txt"))
            {
                string[] fileData = File.ReadAllLines(AppDomain.CurrentDomain.BaseDirectory + "collection.txt");
                foreach (string str in fileData)
                {
                    string[] disksItems = str.Split("".ToCharArray());
                    try
                    {
                        lst.Add(new Disks(disksItems[0], disksItems[1], disksItems[2]));
                    }
                    catch { }
                    Console.WriteLine(str);
                }
            }
            if (!File.Exists(AppDomain.CurrentDomain.BaseDirectory + "collection.txt"))
            {
                Console.WriteLine("Файл не найден!!! \n\n Возможно он был перемещён за пределы директории проекта или он не существует");
            }
            return lst;
        }
    }
}



А есть класс Disks, который описывает методы получения и установки имени диска, имени исполнителя и названия песни 

Код


using System;
using System.Collections.Generic; 
using System.Text;

namespace Entities
{

    public class Disks
    {
        private string name; 
        
        public string Name
        {
            get { return name; }
            set { name = value; }
        }

        private string singer;
        
        public string Singer
        {
            get { return singer; }
            set { singer = value; }
        }

        private string song;

        public string Song
        {
            get { return song; }
            set { song = value; }
        }

        public Disks(string name, string singer, string song)
        {
            Name = name;
            Singer = singer;
            Song = song;
        }
    }
}



Подробный код остальных классов приведён в архиве, который прикреплён к вопросу.

Заранее спасибо.

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  Layer.rar 137,38 Kb
PM MAIL   Вверх
DVariuS
Дата 1.5.2009, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 10.2.2009
Где: Ukraine

Репутация: 5
Всего: 8



А что, если заюзать поиск по форуму?
Например, этот топик
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0910 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.