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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DataTable To XmlDocument и обратно, конвертировать 
V
    Опции темы
gORik
Дата 12.3.2009, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Здравствуйте!
В DataSet есть таблица. как сделать из нее XmlDocument и потом обратно из xml  datatable?
PM MAIL ICQ   Вверх
lam0x7C4
Дата 12.3.2009, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Екземпляр класса DataTable сериализовать в поток(stream):

Код
 
DataTable table = myDataSet.Tables["myTable"];
MemoryStream stream = new MemoryStream();
XmlSerializer serializer = new XmlSerializer(typeof(DataTable));
serializer.Serialize(stream, table);



Сохранить xmlDocument:
Код

xmlDocument.Save("myFileName");


Десериализация(обратный процес):

Код

FileStream stream = new FileStream("myFileName");
XmlSerializer serializer = new XmlSerializer();
DataTable table = (DataTable)serializer.Deserialize(stream);


код писал по памяти, так что могут быть баги %)

PM MAIL ICQ   Вверх
thomas
Дата 12.3.2009, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

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



gORik
lam0x7C4
Приветствую.
Вообще то существуют стандартные методы Data Set, а именно
DataSet.ReadXML
DataSet.WriteXML

Успехов.  smile 

ЗЫ по русски читаем ЗДЕСЬ.  smile 

Это сообщение отредактировал(а) thomas - 12.3.2009, 23:01


--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
lam0x7C4
Дата 13.3.2009, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Про датасет мне известно, а вот именно в DataTable таких методов нэту :-P
Поэтому и написал, то что написал =)
PM MAIL ICQ   Вверх
gORik
Дата 13.3.2009, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



млин проблема нарисовалась (
пишу так:
Код

            MemoryStream stream = new MemoryStream();
            dbin.ds.WriteXml(stream); // dbin.ds - мой датасет с даными 
            byte[] buffer = new byte[100000];
            stream.Write(buffer, 0, (int)stream.Length);

потом читаю :
Код

            MemoryStream stream = new MemoryStream(data); //data - байтовый буфер
            DataSet ds = new DataSet();
            DataTable dt;
            ds.ReadXml(stream);
            dt = ds.Tables[0];
            dataGridView1.DataSource = dt;


и выкидывает ошыбку :
System.Xml.XmlException: Отсутствует корневой элемент.

почему оно пишет некоректный XML?
или проблема вто что я его в стриме гоняю?

Это сообщение отредактировал(а) gORik - 13.3.2009, 17:55
PM MAIL ICQ   Вверх
PashaPash
Дата 13.3.2009, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

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



Цитата(gORik @  13.3.2009,  09:08 Найти цитируемый пост)
stream.Write(buffer, 0, (int)stream.Length);

эта строчка пишет из буффера в поток. Замени на buffer = stream.ToArray()


--------------------
PM MAIL WWW   Вверх
gORik
Дата 14.3.2009, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Всем пасиб!
PashaPash - помогло спс! ;)
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

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

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


 




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


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

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