AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Treeview mit XML-Dokument füllen

Ein Thema von Lizzy · begonnen am 13. Jun 2009 · letzter Beitrag vom 24. Jan 2017
 
Benutzerbild von fs999
fs999

Registriert seit: 4. Dez 2006
Ort: Luxembourg
46 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Treeview mit XML-Dokument füllen

  Alt 24. Jan 2017, 12: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 12:54 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz