Registriert seit: 4. Dez 2006
Ort: Luxembourg
46 Beiträge
Delphi 10.3 Rio
|
AW: Treeview mit XML-Dokument füllen
24. Jan 2017, 13:50
Es kommt erstmal darauf an, wie und was du in dem TreeView anzeigen möchtest.
Ein Beispiel fündest du z.B. in Hier im Forum suchenhimXML > demos\Demo_Tree > Demo_TreeU.pas > TForm1.FillTree
in Kurz sähe Dieses etwa so aus:
Delphi-Quellcode:
Procedure TForm1.FillTree;
Procedure Fill(Nodes: TXMLNodeList; Item: TTreeNode);
Var Node: TXMLNode;
Item2: TTreeNode;
Begin
Node := Nodes.FirstNode;
While Assigned(Node) do Begin
Item2 := TreeView1.Items.AddChildObject(Item, Node. Name, nil);
If Node.Nodes.hasChildNodes Then Fill(Node.Nodes, Item2);
Node := Node.NextNode;
End;
End;
Begin
TreeView1.Items.Clear;
Fill( XML.Nodes, nil);
End;
Du nimmst dir den Hauptnode des XML-Dokuments vor und füllst dessen Knoten in den Hauptknoten des TreeView ein
Hat ein XML-Node "Kinter" (untergeordnete Nodes), dann nimmst du wiederum diese und füllst sich in den entsprechenden Knoten des TreeView und wiederholst das so lange, bis alles drin ist.
Das wäre so die "einfache" rekursive Methode.
Da fehlen noch die Werten...
Delphi-Quellcode:
...
Item2 := Items.AddChildObject(Item, Node.Name, nil);
if Node.Nodes.NodeCount > 0 then
Fill(Node.Nodes, Item2)
// wenn keine subnodes dann Wert einfügen !
else
Items.AddChildObject(Item2, Node.XMLText, nil);
Node := Node.NextNode;
...
mfG
Geändert von fs999 (24. Jan 2017 um 13:54 Uhr)
|
|
Zitat
|