Entwickler-Ecke
Dateizugriff - Auf XML zugreifen und in Editbox ausgeben!
Obi-Wan - Sa 27.08.05 18:26
Titel: Auf XML zugreifen und in Editbox ausgeben!
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:
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):
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
Delete - Sa 27.08.05 20:30
Eine Möglichkeit wäre
"MS XML". Mit der Methode
selectNodes könntest du alle Knoten namens "Image", bzw. das "Name"-Attribut, auf einen Schlag ermitteln
Delphi-Quelltext
1:
| nl := xmldoc.selectNodes('/test_file/Image/@name'); |
und in die Listbox eintragen.
Das Auslesen würde dann ebenfalls über
XPATH gehen, indem du den aktuellen Eintrag der Listbox ermittelst und dann nach dem Knoten mit diesem "Name"-Attribut suchst:
Delphi-Quelltext
1: 2:
| node := xmldoc.selectSingleNode('/test_file/Image[@name="' + ListBoxItem + '"]'); ShowMessage(node.text); |
wäre dann der Pfad zum Bild.
Obi-Wan - Sa 27.08.05 20:36
Danke, werde das mal ausprobieren. :D
Obi-Wan - 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 :(
Delete - So 28.08.05 19:11
Obi-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 - 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:
Danke nochmal für jede Hilfe! Tolles Forum hier! :)
Delete - Mo 29.08.05 07:59
Na siehst du. :wave: Das ist eine Sache, für die du nie wieder fragen wirst. ;)
Obi-Wan - Mo 29.08.05 17:34
MathiasSimmack 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*
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!