0 / 0 / 0
Регистрация: 31.03.2014
Сообщений: 7

Работа с xml файлами

06.04.2014, 19:08. Показов 2609. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Использую dataGridView в Form2.h
Создаю файл "file.xml".

Form2.h
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
...
DataTable ^ Cards_Table;
DataSet ^ DataSetCards;
private: System::Void Form2_Load(System::Object^  sender, System::EventArgs^  e) {
             Cards_Table = gcnew DataTable();
                DataSetCards = gcnew DataSet();
                if (IO::File::Exists("file.xml") == false) {    //создать, если нет файла
                    dataGridView1->DataSource = Cards_Table;
                    Cards_Table->Columns->Add("ID");
                    Cards_Table->Columns->Add("PIN");
                    Cards_Table->Columns->Add("Balance");
                    DataSetCards->Tables->Add(Cards_Table);
                }
                else {    // отобразить и дополнить
                    DataSetCards->ReadXml("fileCards.xml");
                    String ^ СтрокаXML = DataSetCards->GetXml();
                    dataGridView1->DataMember = ("Card");
                    dataGridView1->DataSource = DataSetCards;                    
                }
         }
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {   // сохранить в файл
             Cards_Table->TableName = "Card";
             DataSetCards->WriteXml("file.xml");
             CardCount = dataGridView1->DisplayedRowCount(true);    //количество строк в глобальную переменную
             this->Close();
         }
1) мне нужно передать значения ID в Form1.h в comboBox. вывести общее количество строк в dataGridView обещает DisplayedRowCount(bool) "true to include partial rows in the displayed row count; otherwise, false" -
2) где можно условить, чтобы ID не повторялось, ID и PIN было постоянным (не изменялось пользователем), ID, PIN и Balance были заполнены перед сохранением?
3) на основе выбранного из comboBox ID создать объект класса с тремя параметрами, взятыми из xml.

по (1) пробовала добавить в Form1.h, но до этого нужно как-то упомянуть об file.xml. К этому нужно прийти как-нибудь
C++
1
2
3
4
5
...
private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {
        for(int i = 0; i < CardCount; i++)   //количество строк
             this->comboBox1->Items->Add(ID[i]->InnerText); // найдено в инете
         }
Как работать с xml?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.04.2014, 19:08
Ответы с готовыми решениями:

Работа с XML-файлами
Друзья! Есть такое дело: на форме Windows Forms есть элемент ListBox1, в котором отображается список XML-файлов таким образом: ...

Работа с XML файлами
Нужен пример (полностью) простой програмулины которая работает с xml файлами !!! самые простые действия... в остальном сам разберусь))...

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

1
0 / 0 / 0
Регистрация: 31.03.2014
Сообщений: 7
08.04.2014, 10:46  [ТС]
по первому вопросу пишу так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {
                         XmlDocument^ xmldoc = gcnew XmlDocument();
             xmldoc->Load("file.xml");
             XmlNodeList^ list = xmldoc->GetElementsByTagName("Card");   //объект класса, последовательная загрузка тэга Card
             int kol = list->Count;   // количество записей в list
             XmlElement[] ID = xmldoc->DocumentElement[kol];  //пытаюсь объявить массив элементов
             for(int i = 0; i < kol; i++){
                 ID[i] = (XmlElement)xmldoc->GetElementsByTagName("ID")[i];  //и заполнить его по тэгу ID
             }
            /* for(int i = 0; i < listCard->Count; i++){
                 comboBox->Items->Add(ID[i]->InnerText); 
             }*/
}
errors:
Ошибка 1 error C2143: синтаксическая ошибка: отсутствие ";" перед "[" x:\project_1\1\1\Form1.h 767
Ошибка 2 error C3409: пустой блок атрибута не допускается x:\project_1-\1\1\Form1.h 767
Ошибка 3 error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "ID" x:\project_1-\1\1\Form1.h 767
Ошибка 4 error C2065: ID: необъявленный идентификатор x:\project_1-\1\1\Form1.h 767
Ошибка 5 error C2065: ID: необъявленный идентификатор x:\project_1-\1\1\Form1.h 769
Ошибка 6 error C2440: приведение типов: невозможно преобразовать "System::Xml::XmlNode ^" в "System::Xml::XmlElement" x:\project_1-\1\1\Form1.h 769
Ошибка 7 error C2143: синтаксическая ошибка: отсутствие ";" перед "[" x:\project_1-\1\1\Form1.h 767
Ошибка 8 error C3409: пустой блок атрибута не допускается x:\project_1-\1\1\Form1.h 767
Ошибка 9 error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "ID" x:\project_1-\1\1\Form1.h 767
Ошибка 10 error C2065: ID: необъявленный идентификатор x:\project_1-\1\1\Form1.h 767
Ошибка 11 error C2065: ID: необъявленный идентификатор x:\project_1-\1\1\Form1.h 769
Ошибка 12 error C2440: приведение типов: невозможно преобразовать "System::Xml::XmlNode ^" в "System::Xml::XmlElement" x:\project_1-\1\1\Form1.h 769
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.04.2014, 10:46
Помогаю со студенческими работами здесь

Работа с xml файлами
Здравствуйте! Подскажите пожалуйста, как производить считывание и запись в xml. при записи делаю так : XmlWriter xml =...

Работа с файлами .Xml
Всем привет! У меня вопросик есть следующий... Я написал проектик где в комбобоксе в итемах отображается и картинка и текст, т.е. создал...

Работа с файлами Xml
Подскажите, плиз,начинающему программисту как лучше выбирать данные из XML файла в С++ Builder: 1. Работать как с текстовым файлом,...

Работа с XML файлами
Здравствуйте, товарищи. Прошу совета экспертов в данном вопросе. Моя задача: создать программу, формирующую документы в формате XML. ...

Работа с xml файлами
Доброй ночи всем. Есть xml типа ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru