AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi TTreeView mit XML-Datei verknüpfen, aber wie?
Thema durchsuchen
Ansicht
Themen-Optionen

TTreeView mit XML-Datei verknüpfen, aber wie?

Offene Frage von "himitsu"
Ein Thema von Marco Steinebach · begonnen am 24. Jun 2010 · letzter Beitrag vom 24. Jun 2010
Antwort Antwort
Marco Steinebach

Registriert seit: 4. Aug 2006
491 Beiträge
 
Delphi 5 Enterprise
 
#1

TTreeView mit XML-Datei verknüpfen, aber wie?

  Alt 24. Jun 2010, 09:00
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
Marco Steinebach
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#2

AW: TTreeView mit XML-Datei verknüpfen, aber wie?

  Alt 24. Jun 2010, 09:18
Du kannst über XPath auch den Knoten suchen, welcher ein Attribut, mit einem bestimmten Inhalt enthält.

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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Marco Steinebach

Registriert seit: 4. Aug 2006
491 Beiträge
 
Delphi 5 Enterprise
 
#3

AW: TTreeView mit XML-Datei verknüpfen, aber wie?

  Alt 24. Jun 2010, 09:34
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
Marco Steinebach
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#4

AW: TTreeView mit XML-Datei verknüpfen, aber wie?

  Alt 24. Jun 2010, 10:27
Code:
<sender name="sendername" ... />
diese Codes sollten das Obrige finden (hoff ich mal)
Delphi-Quellcode:
Node := NodeList.GetSingleNode('*[@name="' + SenderName + '"]');

Node := NodeList.GetSingleNode('sender[@name="' + SenderName + '"]');
entspricht übrigens dem //kap[@title='Nettes Kapitel']/pa-Beispiel auf Wikipedia
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort


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:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz