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

Вниз

XML   Найти похожие ветки 

 
PONTIY ©   (2002-07-16 06:38) [0]


XML: TXMLDocument;
XML.LoadFromFile(OpenDialog.FileName);
XML.ChildNodes.First;
далее делаем
XML.Node.NodeName
XML.Node.NodeValue

а как собственно переходить от нода к ноду?
т.е. нужно пройтись по всему xml и собрать имена нодов и их значения


 
int64 ©   (2002-07-16 08:05) [1]

Также, как и с TList.

for i:= 0 to XML.ChildNodes.Count-1 do
begin
Memo1.Lines.Add("NodeName: "+XML.ChildNodes[i].NodeName);
for j:=0 to XML.ChildNodes[i].ChildNodes.Count-1 do
Memo1.Lines.Add("ChildName: "+XML.ChildNodes[i].ChildNodes[j].NodeName);
Memo1.Lines.Add("Count ChildNodes: "+inttostr(
XML.ChildNodes[i].ChildNodes.Count));
Memo1.Lines.Add("Count Elements: "+inttostr(
XML.DocumentElement.ChildNodes[i].ChildNodes.Count));
Memo1.Lines.Add("--------------");
end;CODE>


 
StarCon   (2002-07-16 08:25) [2]

то бишь чтобы докапаться до 10 уровня надо использовать
XML.ChildNodes[i].ChildNodes[j].ChildNodes[a].ChildNodes[b].ChildNodes[c].ChildNodes[d].ChildNodes[f].ChildNodes[h].ChildNodes[g].ChildNodes[k].NodeName????
наверное есть другой подход?


 
int64 ©   (2002-07-16 09:08) [3]

Конечно есть. Например просмотр исходных текстов компонент, когда F1 не работает. :)


 
Lmatveev   (2002-07-16 09:38) [4]

Как и для любого дерва - рекурсивный вызов процедуры, описанной выше:

procedure ProcessDocument(AXML: TXMLDocument);

procedure AddChilds(AChilds: IXMLNodeList)
var i: integer;
begin
if AChilds.Count=0 then exit;
for i := 0 to AChilds.Count-1 do begin
Memo1.Lines.Add(AChilds[i].NodeName);
AddChilds(AChilds[i].ChildNodes);
end;
end;

begin
AddChilds(AXML.ChildNodes);
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.019 c
14-95534
Fredericco
2002-07-02 11:21
2002.07.29
У меня созрел вопрос про Сокеты.


1-95303
sau
2002-07-17 14:23
2002.07.29
Макроподстановка


14-95515
Raiv
2002-07-02 15:23
2002.07.29
Где можно скачать TeeChartPro VCL для


1-95309
AlexAlex
2002-07-16 18:00
2002.07.29
Программное управление положением подписей (Mark) в TChart


1-95407
hooch
2002-07-16 12:11
2002.07.29
Фреймы в dll (D6, WinXP)