Z gory przepraszam jesli to banał. Probuje odczytac statusy.
Probowalem tak i siak i nic
wymodzilem cos takiego, ale nie działa. Help.
var
DOC:IXMLDocument;
i, j: Integer;
OrderChilds, properties_Node: IXMLNode;
propChildList: IXMLNodeList;
odpowiedz : string;
begin
odpowiedz := '?xml version="1.0" encoding="UTF-8"?>
<trackandtrace>
<Parcel Weight="0.4" ClientRef="clientref" PclID="9989888">
<Statuses>
<Status StInfo="Valickova" Depo="62" StDate="2016-04-01 11:53:47" StCode="5"/>
<Status StInfo="10:00-13:00" Depo="62" StDate="2016-04-01 07:18:47" StCode="4"/>
<Status StInfo="" Depo="62" StDate="2016-03-31 18:04:50" StCode="7"/>
<Status StInfo="2016-04-01" Depo="62" StDate="2016-03-31 18:03:18" StCode="9"/>
<Status StInfo="" Depo="62" StDate="2016-03-31 11:40:50" StCode="12"/>
<Status StInfo="10:00-13:00" Depo="62" StDate="2016-03-31 07:09:04" StCode="4"/>
<Status StInfo="" Depo="62" StDate="2016-03-31 06:16:08" StCode="3"/>
<Status StInfo="codref" Depo="5" StDate="2016-03-31 00:49:00" StCode="1"/>
<Status StInfo="" Depo="47" StDate="2016-03-30 15:12:09" StCode="86"/>
<Status StInfo="" Depo="0" StDate="2016-03-30 10:37:14" StCode="52"/>
<Status StInfo="" Depo="0" StDate="2016-03-30 10:37:14" StCode="51"/>
</Statuses>
</Parcel>
</trackandtrace>';
doc := LoadXMLData(odpowiedz);
doc.Active;
for i := 0 to DOC.ChildNodes.Nodes['parcel'].ChildNodes.Count - 1 do
begin
OrderChilds := DOC.ChildNodes.Nodes['parcel'].ChildNodes[i];
if OrderChilds.NodeName = 'Statuses' then
begin
properties_Node := OrderChilds.ChildNodes.Nodes['Status'];
if Assigned(properties_Node) then begin
propChildList := properties_Node.ChildNodes;
for j := 0 to propChildList.Count - 1 do begin
Memo1.Lines.Add(propChildList.Nodes[j].NodeValue);
end;
end;
end;
end;
end;