Autor Beitrag
Obi-Wan
Hält's aus hier
Beiträge: 9


D2005 Pers
BeitragVerfasst: Sa 27.08.05 18:26 
Hallo erstmal, bin neu hier ;)
Ich will dann mal gleich zur sache kommen. Ich bastel gerade an einem reader der eine bestimmte XML datei ausliest mit einer vorbestimmten Struktur. So sieht die erstmal (vereinfacht) aus:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
<?xml version="1.0" encoding="iso-8859-1"?>

<test_file type="blablatest" testfile_version="1.6.5004.1307" syntax_version="1.0">
   <Sources>
      <Image name="Testbild1">C:\bild1.jpg</Image>
      <Image name="Testbild2">C:\bild2.tif</Image>
      <Image name="Testbild3">C:\bild4.bmp</Image>
   </Sources>
</test_file>


Die Oberfläche so (jetzt nur zum testen bis es funktioniert):
user defined image
Also über den Button Datei Laden möchte ich die XML laden (wie das geht weiß ich schon ;))
Dann soll in der Dropdownbox z.b. das aus der XML angezeigt werden zum auswählen ("Testbild1","Testbild2", usw.).
Dann kann man die jeweiligen Daten aus dem Dropdown auswählen und in dem Editfeld soll dann der jeweilige Pfad angezeigt werden.
Ich habe mich schon durch viele Delphiforen gewühlt und nichts gefunden wo ich durchsteige. Habe jetzt auch schon einige Parser durch aber nirgends richtig gefunden wie man diese anwenden kann (bei einem war nen beispielsource dabei aber der ist IMHO ziemlich undurchsichtig und zeigt viel mehr als ich brauche :( )
Also wenn mir jemand helfen kann oder wenigstens Tipps in die richtige Richtung geben kann, schonmal danke im vorraus.

PS: hab nur Delphi 2005 Personal, also keine IXML-Kompo :oops:

MfG Florian
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 27.08.05 20:30 
Eine Möglichkeit wäre Suche in: Delphi-Forum, Delphi-Library "MS XML". Mit der Methode selectNodes könntest du alle Knoten namens "Image", bzw. das "Name"-Attribut, auf einen Schlag ermitteln
ausblenden Delphi-Quelltext
1:
nl := xmldoc.selectNodes('/test_file/Image/@name');					

und in die Listbox eintragen.

Das Auslesen würde dann ebenfalls über Suche in: Delphi-Forum, Delphi-Library XPATH gehen, indem du den aktuellen Eintrag der Listbox ermittelst und dann nach dem Knoten mit diesem "Name"-Attribut suchst:
ausblenden Delphi-Quelltext
1:
2:
node := xmldoc.selectSingleNode('/test_file/Image[@name="' + ListBoxItem + '"]');
ShowMessage(node.text);

wäre dann der Pfad zum Bild.
Obi-Wan Threadstarter
Hält's aus hier
Beiträge: 9


D2005 Pers
BeitragVerfasst: Sa 27.08.05 20:36 
Danke, werde das mal ausprobieren. :D
Obi-Wan Threadstarter
Hält's aus hier
Beiträge: 9


D2005 Pers
BeitragVerfasst: So 28.08.05 16:22 
Hmm Mist, ich kapiere das nicht mit dem MSXML :/
Hab jetzt durch zufall gefunden das bei der JEDI-VCL ne SimpleXML Komponenten drin ist. Hab mal das kleine Beispiel geladen aber da wird nur gezeigt wie man ne XML auslesen kann und die im Treeview angezeigt wird, bräuchte aber eher ein Beispiel wie oben beschrieben. Also XML Strukur bekannt, und diese in Edit-Feldern ausgeben (oder labels). Gibts von der JEDI-VCL irgeneine Dokumentation von SimpleXML? Ich kann mir echt nichts drunter vorstellen etwas damit anzufangen ohne zu wissen was die SimpleXML von mir will. Google war auch nicht sehr ergiebig :(
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 28.08.05 19:11 
user profile iconObi-Wan hat folgendes geschrieben:
Hab jetzt durch zufall gefunden das bei der JEDI-VCL ne SimpleXML Komponenten drin ist. Hab mal das kleine Beispiel geladen aber da wird nur gezeigt wie man ne XML auslesen kann und die im Treeview angezeigt wird, bräuchte aber eher ein Beispiel wie oben beschrieben.

Und? Findest du die Befehle nicht, die für die Darstellung im Tree-View verantwortlich sind? Wenn Ja, dann weißt du doch, was du nicht brauchst.
Obi-Wan Threadstarter
Hält's aus hier
Beiträge: 9


D2005 Pers
BeitragVerfasst: Mo 29.08.05 01:39 
Ja das habe ich getan und es hat mir auch den weg in die richtige Richtung gezeigt. Nun hab ichs geschafft, nach stundenlangem rumprobieren :lol:

user defined image

Danke nochmal für jede Hilfe! Tolles Forum hier! :)
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 29.08.05 07:59 
Na siehst du. :wave: Das ist eine Sache, für die du nie wieder fragen wirst. ;)
Obi-Wan Threadstarter
Hält's aus hier
Beiträge: 9


D2005 Pers
BeitragVerfasst: Mo 29.08.05 17:34 
user profile iconMathiasSimmack hat folgendes geschrieben:
Na siehst du. :wave: Das ist eine Sache, für die du nie wieder fragen wirst. ;)


Jepp, gutes Lernprinzip ... Try & Error *g*