![]() |
TTreeView mit XML-Datei verknüpfen, aber wie?
Hallo zusammen,
Ich habe eine Liste, mit in diesem Falle Radiosendern, die in einer XML-Datei gespeichert sind. Diese möchte ich in einem TreeView darstellen. Soweit, so klar. In der XML-Datei sind zu jedem Sender mehrere Attribute gespeichert, also sein Name, sein Live-Stream, der Ort aus dem er kommt, usw. Im TTreeView soll aber nur der Sendername angezeigt werden. Und ab hier steh ich ein bißchen auf dem Schlauch: Wie kann ich einen Bezug schaffen zwischen dem ausgewählten TTreeview-Element und dem dazugehörigen Knoten meiner XML-Struktur? Das Problem ist, es ist nicht möglich anhand des Sendernamens einen Knoten in der XML-Struktur zu finden, denn "Rundfunk Berlin-Brandenburg" ist nunmal kein gültiger XML-Name, ;-). Zum Einsatz kommt OpenXML. Wenn jemand 'ne andere Idee hat, wie ich Baum-Daten sinnvoll speichern kann, meinetwegen auch ohne XML, auch dafür bin ich offen. Schonmal vielen Dank für euere Antworten Marco |
AW: TTreeView mit XML-Datei verknüpfen, aber wie?
Du kannst über
![]() Oder du nutzt die Node.Data des Treeview und legst darin gleich alle zugehörigen Daten ab, z.B. als Objekt. Dann brauchst du keine Verknüpfung zur XML-Datei. |
AW: TTreeView mit XML-Datei verknüpfen, aber wie?
Hallo Himitsu,
Vielen Dank für die rasche Antwort. Also wäre die zweite Möglichkeit, wenn ich dich richtig verstanden habe, vom Ablauf etwa die folgende: - Lies die XML-Datei ein - Baum erstellen - dabei alle Daten, die Sinn machen, aus dem XML-Dokument auslesen, in einen record speichern und einen Zeiger darauf im Node.Data ablegen. - ... Programmlauf, änderungen etc ... - und dann das ganze wieder Rückwärts, also aus den Records wieder das XML-Generieren und speichern? Klingt logisch, aber ist die XPath-Geschichte nicht einfacher, dann hab ich nicht alles doppelt? Hättest du mir ein Beispeil, ich steige durch das Handbuch zu OpenXML nur schwierig durch... Einen freundlichen Gruß Marco |
AW: TTreeView mit XML-Datei verknüpfen, aber wie?
Code:
diese Codes sollten das Obrige finden (hoff ich mal)
<sender name="sendername" ... />
Delphi-Quellcode:
entspricht übrigens dem //kap[@title='Nettes Kapitel']/pa-Beispiel auf Wikipedia
Node := NodeList.GetSingleNode('*[@name="' + SenderName + '"]');
Node := NodeList.GetSingleNode('sender[@name="' + SenderName + '"]'); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:22 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