Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Программное задание структуры xml при сохранении


Автор: LexaL 24.12.2010, 20:26
Необходимо при сохранении данных в xml файл сохранить структуру.Как это осуществить?

Автор: Avada 25.12.2010, 09:14
Что значит "сохранить структуру" ?

Автор: LexaL 25.12.2010, 09:44
Я ,наверно не корректно, выразилась. Нужно, что б файл при сохранении имел вид:

<gallery>
<painter>
<name> ...</name>
<picture>
<nazvanie>....</nazvanie>
<yearcreation>.....</yearcreation>
</picture>
</painter>

<painter>
<name> ...</name>
<picture>
<nazvanie>....</nazvanie>
<yearcreation>.....</yearcreation>
</picture>
</painter>

</gallery>
Я загружаю его, добавляю новые элементы и нужно что бы файл они сохранились в приведенной структуре.

Автор: Avada 25.12.2010, 12:21
Ну вообще-то в прошлый раз я писал код, который должен сохранять.
По идее, в месте:
Код

// занесение элементов в ваш элемент
XMLDocument1.DocumentElement.ChildNodes[i-1].AddChild('name');
XMLDocument1.DocumentElement.ChildNodes[i-1].AddChild('picture');

добавляете 
Код

XMLDocument1.DocumentElement.ChildNodes[i-1].AddChild('nazvanie');
XMLDocument1.DocumentElement.ChildNodes[i-1].AddChild('yearcreation');


потом вызываете save
Код

XMLDocument1.SaveToFile('myfile');
XMLDocument1.active := false;


я не очень понимаю просто, что не так smile

Добавлено через 5 минут и 45 секунд
или вы хотите, чтобы автоперенос в файле осуществлялся?

Автор: LexaL 26.12.2010, 11:15
Да, что бы автоперенос был.

Автор: Avada 26.12.2010, 15:41
вот попробуйте, думаю, поможет http://forum.vingrad.ru/forum/topic-315961/kw-xml-делфи.html

Автор: LexaL 27.12.2010, 00:39
Спасибо за совет, но мне не помогло, все равно в одну строку сохраняет, что делать не знаю

Автор: Snowy 27.12.2010, 11:55
Код
XMLDocument1.Options := XMLDocument1.Options + [doNodeAutoIndent];

Автор: LexaL 27.12.2010, 14:00
Да, сначала выдавало ошибку. Я просто не подключила нужный модуль, когда подключила, перестало выдавать ошибку, а сохраняет все равно в строку.

Автор: Snowy 27.12.2010, 17:10
В самом начале вставь ту строку, которую я указал.
Будет сохранять в структурном виде с отступами.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)