![]() |
Listbox aus den Namen von Nodes erzeugen
Hallo,
wie erzeuge ich am einfachsten/besten eine Listbox aus den Namen aller Nodes die ich so gefunden habe:
Delphi-Quellcode:
Wenn das XML-Document so aussähe...
var
themen: IXMLDOMNodeList; begin themen := xmlDoc.documentElement.selectNodes('bilderdatenbank/*'); <bilderdatenbank> <sonstiges> <Bild> <name>IMGP0970</name> <text>bal</text> </Bild> <Bild> <name>IMGP0973</name> <text>bli</text> </Bild> </sonstiges> <heute> <Bild> <name>IMGP0974</name> <text>blo</text> </Bild> </heute> </bilderdatenbank> ... möchte ich dass in der Listbox nur zwei Einträge sind, nämlich: sonstiges und heute. Ich hoffe ihr habt mein Anliegen verstanden. gruß billi |
Re: Listbox aus den Namen von Nodes erzeugen
hab ich irgendwie nicht verstanden.
ich hätte jetzt gedacht du willst <bilderdatenbank> <sonstiges> <Bild> <name>IMGP0970</name> <text>bal</text> </Bild> <Bild> <name>IMGP0973</name> <text>bli</text> </Bild> </sonstiges> <heute> <Bild> <name>IMGP0974</name> <text>blo</text> </Bild> </heute> </bilderdatenbank> in eine Listbox bringen aber da weiß ich nicht was du noch mit "sonstiges" und "heute" willst. Was genau soll dann in der Listbox stehen sonstiges heute ?? bestimmt nicht so oder?? |
Re: Listbox aus den Namen von Nodes erzeugen
In der Listbox sollen nur die Namen der childes zu "bilderdatenbank" stehen, also das, was zw. den "<" ">" steht.
|
Re: Listbox aus den Namen von Nodes erzeugen
das ganze z.B.: in ne TStringlist einlesen und dann
Delphi-Quellcode:
var count: Integer;
doadd: Boolean; begin doadd := False; for count := 0 to liste.count - 1 do begin if liste.strings[count] = '<bilderdatenbank>' then doadd := True else if liste.strings[count] = '</bilderdatenbank>' then doadd := False else if doadd then Listbox1.items.add(liste.strings[count]); end; end; |
Re: Listbox aus den Namen von Nodes erzeugen
ganz ehrlich, das hab ICH diesmal nicht verstanden...
Warum kann man das nicht mit einer NodeList erreichen?...
Delphi-Quellcode:
Diese Zeile ist ja offensichtlich falsch:
var
themen: IXMLDOMNodeList; i: integer; begin Cerweitert_themenliste.Items.BeginUpdate; //Cerweitert_themenliste ist eine Combo box themen := xmlDoc.documentElement.selectNodes('/bilderdatenbank/*'); for i:=0 to (themen.length - 1) do begin Cerweitert_themenliste.items.add(themen.item[i]); // das ist falsch... (siehe unten) end; Cerweitert_themenliste.Items.EndUpdate; end; Cerweitert_themenliste.items.add(themen.item[i]); Kann man da nicht etwas einfacheres machen, das ich dann auch zumindestens verstehe, als das, was SirThornberry vorgeschlagen hat? gruß billi |
Re: Listbox aus den Namen von Nodes erzeugen
has rausgefunden...
Delphi-Quellcode:
gruß
Cerweitert_themenliste.items.add(themen.item[i].basename);
billi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:56 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