Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

сохранение XMLDocument


Iriss ©   (2009-04-13 10:29:00) 

Добрый день,

столкнулся с использованием xml.

Для загрузки файла использовал XML Data Binding, который сгенерировал мне коллекцию IXMLCollectionType, с которой можно было бы работать.

Нужно теперь сохранить файл
Не могу додумать, как эту коллекцию IXMLCollectionType можно сохранить.

Пробывал создать XmlDoc: TXMLDocument и использовать его свойство SaveToFile, но XmlDoc нужно как-то заполнить.

Подскажите пожалуйста, каким образом можно связать XMLCollection: IXMLCollectionType и XmlDoc: TXMLDocument для последующего его сохранения в файл.

И буду благодарен, если подскажите ссылки по "пошаговой" работе с xml и прочей полезной информацией по xml.

Спасибо.


Ega23   (2009-04-13 11:12:00) [1]

Да, ещё обрати внимание: если при создании TXMLDocument в качестве Owner указываешь nil, то он ведёт себя как TInteracedObject - деструктор вызовется при RefCount=0. А если указываешь что-то вменяемое, то деструтор либо см вызываешь, либо он вызовется втоматом при рзрушении Owner


Iriss   (2009-04-13 10:57:00) [2]

понял, спасибо


Ega23   (2009-04-13 10:56:00) [3]


> откуда взялся метод SaveToXML(XMLDoc.DocumentElement)?


Я его придумал, реализовал и беспощадно использую.


Iriss   (2009-04-13 10:51:00) [4]

откуда взялся метод SaveToXML(XMLDoc.DocumentElement)?


Ega23   (2009-04-13 10:35:00) [5]


function TSFIDProject.SaveToFile(const FileName: string) : Boolean;
var
 XMLDoc : TXMLDocument;
begin
 XMLDoc := TXMLDocument.Create(nil);
 try
   XMLDoc.Active := True;
   XMLDoc.AddChild('ROOT');

   Result := SaveToXML(XMLDoc.DocumentElement);

   if Result then
     XMLDoc.SaveToFile(FileName);

 except on E : Exception do
   begin
     Result := False;
     DoOnException('TSFIDProject.SaveToFile : ' + E.Message);
   end;
 end;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо