Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/23: Рейтинг темы: голосов - 23, средняя оценка - 4.91
4Q
0 / 0 / 0
Регистрация: 21.06.2013
Сообщений: 5
1

Создать XML файл

21.06.2013, 11:37. Показов 4483. Ответов 8
Метки нет (Все метки)

Пытаюсь делать через TXMLDocument, пока дальше записи заголовка не продвинулся.
Вот такой файл получается:
XML
1
<?xml version="1.0" encoding="UTF-8"?>
а добавить в него информацию как?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.06.2013, 11:37
Ответы с готовыми решениями:

Как создать xml файл? (C++ Builder 10)
Есть файл с данными, которые нужно структурировать и сохранить в xml файле. как прочитать данные и...

Создать файл xml schema на основе корректного xml
Вообщем есть следующая задача. Корректный XML файл results.xml содержит результаты прохождения...

Создать файл из xml
Добрый вечер! В res/raw лежит xml файл, нужно создать File из него, не могу понять как это...

создать xml файл
столкнулся такой проблемой, что после публикации проекта программа ругается на отсутствие xml...

8
991 / 517 / 102
Регистрация: 19.03.2013
Сообщений: 3,113
Записей в блоге: 19
21.06.2013, 11:49 2
ReadMe http://www.functionx.com/cppbu... sson03.htm
1
4Q
0 / 0 / 0
Регистрация: 21.06.2013
Сообщений: 5
21.06.2013, 13:24  [ТС] 3
Спасибо за ссылку, попробовал.
C++
1
2
3
4
5
6
7
8
9
10
XMLDoc->Active=true;
XMLDoc->Version="1.0";
XMLDoc->Encoding="UTF-8";
 
IXMLNode *xmlRoot = XMLDoc->DocumentElement;
_di_IXMLNode nodElement = XMLDoc->CreateElement(L"name", L"");
 
xmlRoot->ChildNodes->Add(nodElement);
 
XMLDoc->SaveToFile("1.xml");
на 8й строчке выдает access violation, хотя 5-8 строки взял из примера по ссылке.
0
991 / 517 / 102
Регистрация: 19.03.2013
Сообщений: 3,113
Записей в блоге: 19
21.06.2013, 13:52 4
Видимо сначала надо как-то создать root node

Добавлено через 9 минут
Можете создать бланк XML

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
const AnsiString strXML = L"<?xml version=\"1.0\" encoding=\"utf-8\"?>"
                  L"<musiccollection><album>"
                  L"<shelfnumber>FJ-7264</shelfnumber>"
                  L"<title>Symphony-Bantu</title>"
                  L"<artist>Vincent Nguini</artist>"
                  L"<copyrightyear>1994</copyrightyear>"
                  L"<publisher>Mesa Records</publisher></album>"
                  L"<album><shelfnumber>MR-2947</shelfnumber>"
                  L"<title>None</title><artist>Debbie Gibson</artist>"
                  L"<copyrightyear>1990</copyrightyear>"
                  L"<publisher>Atlantic</publisher>"
                  L"</album></musiccollection>";
    XMLDocument1->LoadFromXML(strXML);
А потом уже добавить ноды
1
4Q
0 / 0 / 0
Регистрация: 21.06.2013
Сообщений: 5
21.06.2013, 13:55  [ТС] 5
C++
1
2
3
4
5
XMLDoc->AddChild("root");
 
IXMLNode *xmlRoot = XMLDoc->DocumentElement;
_di_IXMLNode nodElement = XMLDoc->CreateElement(L"name", L"");
xmlRoot->ChildNodes->Add(nodElement);
вот так сделал. получаю xml:
XML
1
2
3
4
<?xml version="1.0" encoding="UTF-8"?>
<root>
  <name/>
</root>
а мне нужно чтоб в заголовке xml была дополнительная информация, такого вида:
XML
1
2
3
4
<?xml version="1.0" encoding="UTF-8"?>
<root sendinformation>
  <name/>
</root>
Если пишу XMLDoc->AddChild("root sendinformation"); то на этой строке ругается что пробела не должно быть. Как внести туда доп. информацию?
0
991 / 517 / 102
Регистрация: 19.03.2013
Сообщений: 3,113
Записей в блоге: 19
21.06.2013, 13:58 6
эта доп. информация называется атрибут. Вам надо добавить атрибут.
В таком виде как у вас атрибут нельзя вводить.

Добавлено через 1 минуту
http://msdn.microsoft.com/en-u... s.71).aspx

Вот еще. https://www.cyberforum.ru/cpp-... 60109.html
0
4Q
0 / 0 / 0
Регистрация: 21.06.2013
Сообщений: 5
21.06.2013, 14:13  [ТС] 7
Да, получилось вот так:
XML
1
2
3
4
<?xml version="1.0" encoding="UTF-8"?>
<root sendinformation="true">
  <name/>
</root>
а как сделать чтоб sendinformation был равен нужному мне значению?

Я пишу так:
C++
1
2
IXMLNode *root=XMLDoc->AddChild("root");
root->SetAttribute("sendinformation","1.0");
0
991 / 517 / 102
Регистрация: 19.03.2013
Сообщений: 3,113
Записей в блоге: 19
21.06.2013, 14:17 8
C++
1
2
String atrVal = [тут собираете нужную строку]
root->SetAttribute("sendinformation",atrVal);
1
4Q
0 / 0 / 0
Регистрация: 21.06.2013
Сообщений: 5
21.06.2013, 14:20  [ТС] 9
да, уже понял, спасибо. сейчас остальное попробую, там вроде понятно все.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.06.2013, 14:20

Создать XML файл
Ребят, помогите, нужно создать файл со следующим содержимым &lt;?xml version=&quot;1.0&quot;...

Как создать файл.xml
Возможно ли на основе базы данных Access создать файл с расширеним XML. И если можно кратко, как...

Создать XML файл заданного типа
Как мне программно создать XML файл такого типа: &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;Cars...

Создать XML файл заданного формата
Доброе утро. Подскажите пожалуйста как в Powershell создать xml заданного формата. &lt;?xml...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru