Nicht vollständig aber als Hilfe:
Delphi-Quellcode:
procedure Test1(XMLStr: string);
var
XmlDoc: IXmlDocument;
Root: IXMLNode;
s: string;
I: Integer;
N1: IXMLNode;
N2: IXMLNode;
N3: IXMLNode;
begin
XMLDoc := TXMLDocument.Create(nil);
try
XMLDoc.XML.Text := XMLStr;
XMLDoc.Active := true;
Root := XmlDoc.DocumentElement;
s := Root.NodeName; // Zum Debugen
//--
N1 := Root.ChildNodes.FindNode('params');
for I := 0 to N1.ChildNodes.Count-1 do
begin
N2 := N1.ChildNodes[i];
if N2.ChildNodes.FindNode('value')<>nil then
begin
if N2.ChildNodes.FindNode('array')<>nil then // Muss dann natürlich weiter verschachteln
begin
s := N2.ChildNodes.FindNode('array').Text;
end;
end;
end;
end;