Код:
procedure TForm1.Button1Click(Sender: TObject);
var Node : IXMLNode;
Node2 : IXMLNode;
i:integer;
begin
// в файле - твой xml
XMLDocument1.LoadFromFile(ExtractFilePath(Application.ExeName)+'test.xml');
// Проходим по узлам вниз
// для наглядности написал так, но можно и в одну строчку извратиться
Node := XMLDocument1.Node;
Node := Node.ChildNodes.Nodes['MMWEATHER'];
Node := Node.ChildNodes.Nodes['REPORT'];
Node := Node.ChildNodes.Nodes['TOWN'];
// у тебя 4 узла с именем FORECAST
// вот я и решил для каждого выдернуть значение макс. температуры
for i:=0 to Node.ChildNodes.Count-1 do
begin
Node2 := Node.ChildNodes.Nodes[i]; // FORECAST
Node2 := Node2.ChildNodes.Nodes['TEMPERATURE'];
Memo1.Lines.Add( Node2.AttributeNodes.Nodes['max'].NodeValue );
end;
end;
__________________
Велик и могуч наш Object Pascal !
ICQ: 357-591-887
|