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

Сохранение xml

19.05.2011, 15:56. Показов 6184. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте. Подскажите как сохранить xml файл. Я открываю данные xml файла в richTextBox потом изменяю и должно сохранить их по нажатию button.
вот код открытия подскажите как сохранить после изменения.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 private void button2_Click(object sender, EventArgs e)
        {
            richTextBox1.Clear();
            XmlDocument doc = new XmlDocument();
            // Загружаем 
            var sb = new StringBuilder();
            string FileName = "Dictionary.xml";
            doc.Load(FileName);
            // xmlDoc.LoadXML(s1); 
            // Получаем чилды корневого элемента 
            foreach (XmlNode table in doc.DocumentElement.ChildNodes)
            {
                // перебираем все атрибуты элемента 
                foreach (XmlAttribute attr in table.Attributes)
                {
 
                    string s = attr.Name + " : " + attr.Value;
                }
                // перебираем всех чилдов текущего узла parentNode.AppendChild(node);
                foreach (XmlNode ch in table.ChildNodes)
                {
                    //... 
                }
                // Получаем текст в текущем узле 
               
                 
                richTextBox1.Text += table.InnerText + "\n"; 
            }
        }
вот как выглядит когда просматриваю

потом изменяю

И нажимаю кнопку редактировать и должно сохранить или перезаписать.
Подскажите как реализовать.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.05.2011, 15:56
Ответы с готовыми решениями:

Сохранение таблиц в xml
Здравствуй! Подскажите, как можно сохранить сразу несколько таблиц с данными в один файл? Есть код для одной таблицы private void...

Сохранение DataGridView в xml
Привет, по видеоуроку сделал прогу, а она не работает. using System; using System.Collections.Generic; using...

Сохранение базы данных в xml
Здравствуйте! Подскажите, как можно сохранить базу данных при помощи linq to xml? Имеется вот такая база: namespace Sports { ...

17
334 / 270 / 18
Регистрация: 19.01.2011
Сообщений: 597
20.05.2011, 09:50
C#
1
doc.Save();
Само собой, после внесения данных в XmlDocument.
0
1 / 1 / 0
Регистрация: 01.03.2011
Сообщений: 35
20.05.2011, 10:38  [ТС]
Пишит < ни одна из перегрузок метода "Save" не принемает "0" аргументов>
А когда так ввожу <dict.Save(fileName = "Dictionary.xml");> ошибку не выдает но не работает
1
334 / 270 / 18
Регистрация: 19.01.2011
Сообщений: 597
20.05.2011, 10:39
Ох... А справку почитать? напрячься?
C#
1
doc.Save(FileName);
1
1 / 1 / 0
Регистрация: 01.03.2011
Сообщений: 35
20.05.2011, 10:52  [ТС]
я так тоже писал
C#
1
doc.Save(FileName);
почему то не сохраняет может быть еще что то нужно?
0
334 / 270 / 18
Регистрация: 19.01.2011
Сообщений: 597
20.05.2011, 10:56
Вы определили что не сохраняет каким образом? Если появляется ошибка - то какая? Если ошибки нету - то может и сохраняет, Вы просто не изменяете данные в XmlDocument, нужно дебаг на приложение запускать и смотреть перед сохранением - изменились ли данные в структуре документа? По Вашему коду в первом посте не видно вообще, что Вы чтото меняете. То что у Вас на скриншоте в форме в листбоксе чтото изменилось - еще не говорит нам что у Вас все хорошо в коде.

Не по теме:

Штатный телепат CyberForum в отпуске, надо администрации задуматься о взятии в штат на это время замену.

0
20.05.2011, 11:00

Не по теме:

На форуме игроделов был случай: один уникум тачал тему с абревиатуры "ИМХО", ему задали вопрос, что значит "ИМХО" в его понимании, а другой за него ответил: "Ищю Модель Хорошую Очень", ТС с ним молча согласился.

0
1 / 1 / 0
Регистрация: 01.03.2011
Сообщений: 35
20.05.2011, 11:04  [ТС]
Ошибка не возникает. Вот через точку остановы пишит тако
0
1 / 1 / 0
Регистрация: 01.03.2011
Сообщений: 35
20.05.2011, 11:09  [ТС]
вот можите посмотреть и сказать, что не так.
Вложения
Тип файла: rar Backup.rar (56.2 Кб, 31 просмотров)
0
334 / 270 / 18
Регистрация: 19.01.2011
Сообщений: 597
20.05.2011, 11:31
Butadion, Спасибо за информативный скриншот.... Даже не знаю что сказать... Я не вижу содержимое документа Xml до изменения, после того что Вы внесли изменение (и не вижу кода, как Вы это делаете), поэтому не могу сравнить с содержимым документа перед вызовом метода Save.
К сожалению - у меня нету опыта в Remote Debugging по содержимому скриншота. Имелось в виду - Вы самостоятельно проведете отладку, и если данные перед вызовом метода Save не изменились в документе - покажете код изменения, если изменились - посмотрите внимательно в окно Output студии. Возможно там чтото появилось.

Не по теме:

taras atavin, спасибо, подняли настроение с утра ;)



Добавлено через 5 минут
Укажите процедуру изменения данных в XmlDocument. Что нужно нажать чтобы чтото изменилось. Потому что в вызове button5_Click у Вас только сохранение.

Добавлено через 14 минут
Так...
1) У Вас смешано два стиля работы с XML... Вы бы определились, очень тяжело понимать что где...
2) По ходу дела заметил что у Вас возникает System.IO.FileNotFoundException в вызове метода LoadDictionary. Почему - смотрите сами.
3) Ну и самое главное - все сохраняется,
C#
1
2
3
4
5
6
7
8
        private void button5_Click(object sender, EventArgs e)
        {
            XElement word = new XElement("Word",
                                    new XElement("Rus","Локоть"),
                                    new XElement("Ukr", "Лікоть"));
            dict.Root.Add(word);
            dict.Save(fileName);
        }
Новая запись появляется в Dictionary.xml

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?xml version="1.0" encoding="utf-8"?>
<Dictionary>
  <Word>
    <Rus>Привет</Rus>
    <Ukr>Привіт</Ukr>
  </Word>
  <Word>
    <Rus>Как дела</Rus>
    <Ukr>Як справи</Ukr>
  </Word>
  <Word>
    <Rus>Свекла</Rus>
    <Ukr>Буряк</Ukr>
  </Word>
  <Word>
    <Rus>Сахар</Rus>
    <Ukr>Цукор</Ukr>
  </Word>
  <Word>
    <Rus>Лед</Rus>
    <Ukr>Крига</Ukr>
  </Word>
  <Word>
    <Rus></Rus>
    <Ukr></Ukr>
  </Word>
  <Word>
    <Rus>Сыр</Rus>
    <Ukr>Сир</Ukr>
  </Word>
  <Word>
    <Rus></Rus>
    <Ukr></Ukr>
  </Word>
  <Word>
    <Rus>Карандаш</Rus>
    <Ukr>Олівец</Ukr>
  </Word>
  <Word>
    <Rus>Локоть</Rus>
    <Ukr>Лікоть</Ukr>
  </Word>
  <Word>
    <Rus>Локоть</Rus>
    <Ukr>Лікоть</Ukr>
  </Word>
</Dictionary>
4) - Я думаю, я нашел в чем у Вас ошибка. У Вас присутствует 2-а! файла Dictionary.xml. Один находиться в корне проекта, второй в \bin\Debug\. Если Вы не указываете прямой путь к файлу, а в Вашем коде я этого не нашел - приложение ищет для загрузки и сохраняет там и туда , где запускается Ваше приложение. А оно стартует в \bin\Debug\. Если Вы искали изменения в XML файле , который лежит в корне проекта - они там никогда не появяться...
1
1 / 1 / 0
Регистрация: 01.03.2011
Сообщений: 35
20.05.2011, 11:53  [ТС]
А не подскажите как тогда правильно путь прописать к xml файлу
0
334 / 270 / 18
Регистрация: 19.01.2011
Сообщений: 597
20.05.2011, 13:01
К какому? Желательно всегда отталкиваться от пути приложения.
Application.StartupPath можно так... Или поищите на форуме, где то пробегала тема о пути к приложению.
1
1 / 1 / 0
Регистрация: 01.03.2011
Сообщений: 35
20.05.2011, 15:06  [ТС]
странно даже если запускаю через \bin\Debug\ и изменяю даныи и нажимаю редактировать всеравно не сохраняет в xml файл
0
334 / 270 / 18
Регистрация: 19.01.2011
Сообщений: 597
20.05.2011, 15:09
У меня Ваш проект, при внесении данных в него - сохраняет. \bin\Debug\ ПИСАТЬ НЕ НУЖНО!!!!! Я имел в виду что у вас в этом каталоге лежит измененный Dictionary.xml!!!!
1
1 / 1 / 0
Регистрация: 01.03.2011
Сообщений: 35
20.05.2011, 16:39  [ТС]
Открываю проект нажимаю просмотреть Xml мне высвечивает

Потом изменяю удаляю пару слов

нажимаю на button5 и оно не сохраняет в чом я туплю ?
C#
1
2
3
4
private void button5_Click(object sender, EventArgs e)
        {
           dict.Save(fileName);
        }
0
334 / 270 / 18
Регистрация: 19.01.2011
Сообщений: 597
20.05.2011, 16:51
Выберите в Solution Explorer файл Dictionary.xml. В окне свойств поле Copy to Output Directory поставьте Do not copy и запустите проект. Какой результат?
1
1 / 1 / 0
Регистрация: 01.03.2011
Сообщений: 35
21.05.2011, 00:45  [ТС]
Спасибо большое за помощ. Завтро проверю щас нет возможности

Добавлено через 7 часов 8 минут
Как то странно когда создавал кнопку
C#
1
2
3
4
private void button5_Click(object sender, EventArgs e)
        {
            dict.Save(fileName);  
        }
создал, сохранил, открываю через exe ,а этой кнопки нету button5. Потом через время вроде заработало но всеравно почему то не сохранят вроде как не видет эту кнопку.
0
1 / 1 / 0
Регистрация: 01.03.2011
Сообщений: 35
23.05.2011, 18:00  [ТС]
Кто то подскажит?

Добавлено через 19 часов 30 минут
как его перезаписать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.05.2011, 18:00
Помогаю со студенческими работами здесь

Сохранение строки xml в файл
Всем привет. В таблице 2 колонки в 1й xml файл только без хидера, в другой название файла. Как можно сохранить каждый xml в отдельный файл.

Сохранение цвета ячейки в XML
В общем, DataGridView связан с DataTable. Сохраняю данные в XML вот так: DSet.WriteXml(&quot;D:\\1.xml&quot;); Возможно ли сделать так, чтобы...

Сохранение xml файла в БД SQLite
Подскажите, пожалуйста как можно реализовать сохранение xml файла в БД?

Связь между контролами и сохранение в XML
На форме имеется пять numericUpDown контролов и пять label. При изменении значения numericUpDown - в label должно отображаться текущее...

Как осуществить сохранение xml файла с шифрованием. Алгоритм TripleDES
Доброго всем времени суток ! В программе имеется объект xmlDocument класса XmlDocument. Как осуществить сохранение xml файла этого...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru