Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.12;
Скачать: CL | DM;

Вниз

использование xml   Найти похожие ветки 

 
maxer   (2006-02-16 07:37) [0]

День добрый.
Вопрос таков. Какие компоненты можно использовать для записи xml файлов, и как их использовать. Интересует сохранение (и дальнейшее чтение) данных древовидной структуры. С xml не работал до этого, поэтому чем подробней тем лучше. Если есть возможность киньте элементарный пример.
Узлы дерева :   данные,указатель на предка, указателИ на листья (от 0 до N)


 
palva ©   (2006-02-16 09:27) [1]

У нас только что обсуждали этот вопрос
http://delphimaster.net/view/1-1139592930/
Статей по этому предмету тоже немеряно. Даже на Delphimaster имеются. Может быть стоит начать с http://www.delphimaster.ru/articles/LoadXML/index.htm


 
Плохиш ©   (2006-02-16 11:18) [2]


> maxer   (16.02.06 07:37)

На закладке "Internet" имеется компонент "TXMLDocument" + в делфи имеется встроенная справка + в руководстве разработчика, идущего с делфи, описание занимает минимум 20% +...


 
maxer   (2006-02-21 12:37) [3]

Только не ругайтесь мастера..  )
Файл 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;



Страницы: 1 вся ветка

Текущий архив: 2006.03.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.04 c
15-1140018843
XeON
2006-02-15 18:54
2006.03.12
Лицензия Delphi 6 personal


2-1140594863
Wel
2006-02-22 10:54
2006.03.12
Как правильно осуществить переход.


15-1139936340
DillerXX
2006-02-14 19:59
2006.03.12
Расписание ЖД поездов...


6-1129405704
Volf_555
2005-10-15 23:48
2006.03.12
Определение MAC-адреса УДАЛЁННОГО компьютера


1-1138785708
Kolan
2006-02-01 12:21
2006.03.12
Байт стаффинг. Алгоритм.