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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Экспорт DataGridView в XML 
V
    Опции темы
gambit
Дата 30.1.2010, 23:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

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



Вечер добрый. Столкнулся с задачей, сделать экспорт из таблицы в XML файл. Вопросов 2, как вообще провести экспорт и как задать атрибуты?
PM MAIL ICQ Skype   Вверх
A5uKa
Дата 31.1.2010, 01:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

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



У меня не совсем такая, но похожая проблема до сих пор до конца не решена.
Нужно было перевести данные из таблицы в базе на XML DataSource, но я думаю этот код может помочь.
Делаю так :

Код

DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
da.Fill(ds);
da.Dispose();
ds.DataSetName = "Menus";
ds.Tables[0].TableName = "MyTable";
DataRelation relation = new DataRelation("ParentChild",
ds.Tables["MyTable"].Columns["ID_Parent"],
ds.Tables["MyTable"].Columns["ID_Item"], true);
  
relation.Nested = true;
ds.Relations.Add(relation);
        
        XmlDataSource1.Data = ds.GetXml();
        XmlDataSource1.DataBind();
        Menu3.DataSource = XmlDataSource1;

PM   Вверх
gambit
Дата 31.1.2010, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

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



Пытаюсь сделать вот так

Код

var sd = FormationTabl.loadAssessment(); // получаем объект DataTable
            
            try
            {
                XmlWriter writer = new XmlTextWriter(@"c:\serializeExample.xml", System.Text.Encoding.UTF8);
                XmlSerializer serializer = new XmlSerializer(typeof(DataTable));
                serializer.Serialize(writer, sd);
                writer.Close();
                MessageBox.Show(@"Объект успешно сериализован", "Операция выполнена",
                   MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }


Падаем по ошибке на строке serializer.Serialize(writer, sd);
Ошибка:
Message: Ошибка при создании документа XML.
InnerException: Не удалось сериализовать DataTable. Не указано имя DataTable.

Где и какое имя нужно указать?
PM MAIL ICQ Skype   Вверх
tol05
Дата 31.1.2010, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



DataTable.WriteXml(), DataTable.ReadXml() не подходят?
пример здесь


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
Sfate
Дата 31.1.2010, 16:37 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Angry Beaver
*


Профиль
Группа: Участник
Сообщений: 111
Регистрация: 7.9.2008
Где: mov AL, BL

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



'DataTable', как я понимаю, эт собственно, 'DataGridView'...
как создается и заполняется?
--------------------
"Начинающий программист твердо уверен, что в 1 кбайте 1000 байт, а опытный точно знает, что в 1 километре 1024 метра..." © Unknown
PM MAIL WWW ICQ   Вверх
gambit
Дата 31.1.2010, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

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



Цитата(Sfate @  31.1.2010,  16:37 Найти цитируемый пост)
'DataTable', как я понимаю, эт собственно, 'DataGridView'...

собственно это разные классы

Цитата(Sfate @  31.1.2010,  16:37 Найти цитируемый пост)
как создается и заполняется? 

для данной задачи, это не важно))


tol05, спасибо, посмотрю
PM MAIL ICQ Skype   Вверх
gambit
Дата 31.1.2010, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

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



tol05, это тоже не сработало, по той же причине что и мой код.

Разобрался, оказывается все тупо до безумия)))
Имя задается в конструкторе DataTable, после этого работают оба варианта, и ваш и мой, но ваш конечно предпочтительнее, ибо стандартный.
Всем спасибо, вопрос закрыт.
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

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


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

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


 




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


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

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