Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/22: Рейтинг темы: голосов - 22, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 12.11.2017
Сообщений: 2

Сохранение и чтение xml.

13.04.2011, 07:33. Показов 4354. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Требуется сохранить таблицу, и прочесть из неё и опять же сохранить.
А у меня ситуация следующая!
1) Запускаю программу, заполняется сразу таблица именами.
2)Заполняю данными
3)Сохраняю
3.1) Создался файл хмл и туда внеслись изменения.
4) Закрываю программу и открываю заново.
5) Произвожу чтение из файла - считалось, заполнилось, жму сохранить, закрываю прогу.
6) Открываю прогу, загружаю хмл файл и он вообще чистый загружается. В самом файле тоже заполненные поля почистилсь. Т.Е. при сохранении загруженного файла сохранение его очищает,а не сохраняет. А при сохранении таблицы созданной программой при загрузке, всё отлично!
p.s. Дважды сохранить не позволяет, говорит что уже DataTable используется DataSet'ом.
Помогите понять что не так. Я начинающий, прошу объяснять наглядно)))

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public void LoadSettings(string file)
        {
            try
            {
                DataSet ds = new DataSet();
 
                if (System.IO.File.Exists(file))
                {
                    ds.ReadXml(file,XmlReadMode.ReadSchema);
 
                    DataTable dt = new DataTable();
                    dt = ds.Tables["Matrix1"]; //название таблицы в хмл
 
                    
                    dataGridView1.DataSource = dt;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public void SaveSettings(string file, DataTable dt)
            {
                try
                {
                    DataSet ds = new DataSet();
                     
                    ds.Tables.Add(dt);
 
                    ds.WriteXml(file, XmlWriteMode.WriteSchema);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
            }
Добавлено через 22 часа 29 минут
Up
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.04.2011, 07:33
Ответы с готовыми решениями:

Сохранение списка объектов класса в ручную, сохранение в XML. Без сериализации.
Здравствуйте! Хотел спросить. Как можно сохранить список объектов в XML файл вручную? Я сериализацией делаю так: Класс, который будем...

Чтение XML файла, без использования встроенных средств работы с XML
Разработать программу на любом из перечисленных языков программирования c#. Программа должна читать XML-файл. Разбирать элементы не...

Как разумнее всего организовать сохранение/чтение настроек программы в/из XML?
Привет. Подскажите пожалуйста, как разумнее всего организовать сохранение/чтение настроек программы в/из XML.

1
гроза ленивых студентов
 Аватар для znake
456 / 411 / 51
Регистрация: 27.03.2011
Сообщений: 823
13.04.2011, 09:49
у меня есть только предположения и не более:
1) попробуй в
C#
1
2
ds.ReadXml(file,XmlReadMode.ReadSchema);
ds.WriteXml(file, XmlWriteMode.WriteSchema);
убрать второй параметр...то есть сделать:
C#
1
2
ds.ReadXml(file);
ds.WriteXml(file);
не знаю, чем это может помочь, но вдруг...
2) вот эта статья в MSDN пишет таким образом:
C#
1
2
3
4
5
    System.Xml.XmlTextWriter myXmlWriter = 
       new System.Xml.XmlTextWriter(myFileStream, System.Text.Encoding.Unicode);
    // Write to the file with the WriteXml method.
    thisDataSet.WriteXml(myXmlWriter);   
    myXmlWriter.Close();
в конце есть Close - видишь? м.б. после чтения он его как то не отпускает, а потом из-за этого записать не может или как-нибудь так?
3) проверь, точно ли когда сохраняешь во второй раз, в ds попадает нужный DataTable dt? просто по тому коду что ты дал, я даже не вижу объявления dt внутри метода SaveSettings, хотя при этом dt не глобальный ни разу...таким образом, может получиться, что ты пытаешься пустой ds записать в файл, он тебе его пустой и выдает в итоге...иначе говоря - заюзай отладчик!

п.с. если что-нить поможет - скажи, а то аж самому интересно

Добавлено через 14 минут
хотя причем тут п.2 - эт я хз...фигню какую-то в этом пункте написал
но в целом можешь попробовать писать МСДН-овским способом...мож он норм работать будет...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.04.2011, 09:49
Помогаю со студенческими работами здесь

Сохранение xml данных в xml-файл
Прошу помощи: Есть переменная json, которую необходимо перевести в xml, а затем сохранить на сервере в виде файла xml. Переменная...

Сохранение в ini и чтение из ini собственных типов данных и сохранение комментариев
Доброго времени суток. 1. Допустим есть собственный тип, определяемый посредством Enum. Public Enum Mode As Integer None...

Сохранение xml
Здраствуйте. Подскажите как сохранить xml файл. Я открываю данные xml файла в richTextBox потом изменяю и должно сохранить их по нажатию...

Сохранение в xml
Добрый день, я новичок в делфи и разрабатывая экспертную систему столкнулся с такой проблемой как сохранение новых вопросов к системе в xml...

Сохранение в XML
Доброго времени суток! Подскажите пожалуйста как организовать сохранение маленькой базы данных в XML-файл?:)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru