![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
использование xml [D7, XP]
maxer © (2006-02-16 07:37:00)День добрый.
Вопрос таков. Какие компоненты можно использовать для записи xml файлов, и как их использовать. Интересует сохранение (и дальнейшее чтение) данных древовидной структуры. С xml не работал до этого, поэтому чем подробней тем лучше. Если есть возможность киньте элементарный пример.
Узлы дерева : данные,указатель на предка, указателИ на листья (от 0 до N)
maxer (2006-02-21 12:37:00) [1]Только не ругайтесь мастера.. )
Файл xml делаю:
procedure TForm1.Button2Click(Sender: TObject);
Var
coDoc: CoDomDocument ;
d: DomDocument;
uu: IXmlDomElement;
begin
d:=coDoc.Create;
d.loadXML('<?xml version="1.0" encoding="Windows-1251"?><ROOT></ROOT>');
uu:= d.documentElement;
uu.appendChild(post(@head,d));
d.save('c:\fl_name.xml');
end;
head - первый элемент дерева, которое имеет до 5ти листьев. По структуре файл вроде получается нормальный, теоретически восстановить дерево обратно можно.. А как??? сделать как то ф-цию обратную post (см. ниже).
как брать поочередно эл-ты?
function post(tmp:PEmpCell;d: DomDocument):IXmlDomElement;
Var
i: integer;
e,a,data: IXmlDomElement;
begin
i:=1;
data:= d.createElement('data');
data.text:=tmp.data.Text;
while(tmp.NextCell[i]<>nil)and(i<=5)do
begin
a:= d.createElement('next');
e:=post(tmp.NextCell[i],d);
Inc(i);
a.appendChild(e);
data.appendChild(a);
end;
post:=data;
end;
Плохиш (2006-02-16 11:18:00) [2]
> maxer (16.02.06 07:37)
На закладке "Internet" имеется компонент "TXMLDocument" + в делфи имеется встроенная справка + в руководстве разработчика, идущего с делфи, описание занимает минимум 20% +...
palva (2006-02-16 09:27:00) [3]У нас только что обсуждали этот вопрос
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1139592930&n=0
Статей по этому предмету тоже немеряно. Даже на Delphimaster имеются. Может быть стоит начать с http://www.delphimaster.ru/articles/LoadXML/index.htm