Hallo Yheeky,
ich habe mal ein Beispiel für dich erstellt.
Du braucht ein Formular mit einer TTreeView-Komponente drauf und halt
die
XML-Lib deiner Wahl. Ich benutze NativeXml (von simdesign.nl),
aber vom Prinzip her funktioniert das mit jeder anderen auch.
Delphi-Quellcode:
procedure TfrmMain.Xml2Tree(
const aFilename:
string; aTreeView: TTreeView);
procedure InterateTree(aXmlNode: TXmlNode; aParent: TTreeNode);
var
i: integer;
NewTreeNode: TTreeNode;
begin
for i:= 0
to aXmlNode.NodeCount-1
do
begin
NewTreeNode:= aTreeView.Items.AddChild(aParent, aXmlNode.Nodes[i].AttributeByName['
Name']);
{ hier beginnt die Rekursion, sie übergibt den gerade erstellten Knoten
zusammen mit dem aktuellen Knoten der XML-Datei und führt die Prozedur
nochmals aus. }
InterateTree(aXmlNode.Nodes[i], NewTreeNode);
end;
end;
var
fXmlDoc: TNativeXml;
begin
aTreeView.Items.Clear;
aTreeView.Items.BeginUpdate;
fXmlDoc:= TNativeXml.Create;
try
fXmlDoc.LoadFromFile(aFilename);
{ Startpunkt der eigentlichen Einlese-Prozedur }
InterateTree(fXmlDoc.Root,
nil);
finally
fXmlDoc.Free;
end;
aTreeView.Items.EndUpdate
end;
procedure TfrmMain.FormCreate(Sender: TObject);
begin
fPath:= ExtractFilePath(Application.ExeName);
end;
procedure TfrmMain.btnLoadFromXmlClick(Sender: TObject);
begin
If FileExists(fPath + FileDemoTree)
then
Xml2Tree(fPath + FileDemoTree, TreeView1);
end;
Hoffe, du kommst damit weiter.
Gruß
Jürgen