Registriert seit: 2. Mär 2004
5.508 Beiträge
Delphi 5 Professional
|
Re: Units verfügbar Typen wie zB. IDOMNodeSelect nicht vorha
31. Mai 2006, 19:47
Als Einstieg für MSXML
Delphi-Quellcode:
var
dom : IXMLDOMDocument2;
ElemList: IXMLDOMNodeList;
begin
dom := CoDOMDocument.Create;
dom.load(' C:\test.XML'); // dokument laden
Memo1.Lines.Clear;
ElemList := dom.documentElement.childNodes;
ShowChilds(ElemList, 1000, 0); // alles rekursiv anzeigen
end;
Delphi-Quellcode:
procedure TForm1.ShowChilds(childs: IXMLDOMNodeList; maxcount: Integer;level:Integer);
var
i,j,anzahl : Integer;
s : string;
attr : IXMLDOMNamedNodeMap;
node : IXMLDOMNode;
begin
for i := 0 to childs.length-1 do
begin
node := childs.item[i];
try
s := node.nodevalue;
except
s := ''
end;
outputline(node.nodeName+' : '+s, level);
attr := node.attributes;
if Assigned(attr) then
begin
for j := 0 to attr.length-1 do
begin
try
outputline(attr.item[j].Get_nodeName+'='+attr.item[j].Get_nodeValue, level);
except
end;
end;
end;
// rekursiv eine Ebene tiefer
ShowChilds(node.childNodes, maxcount, level+1);
if i >= maxcount then
break;
end;
end;
// Ausgabe im Memo
// mit parameter level wird eingerückt
procedure TForm1.outputline(const s: string; level: Integer);
begin
Memo1.Lines.Add(StringOfChar('.', level)+s);
end;
Andreas
|
|
Zitat
|