Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi xml -> suche (https://www.delphipraxis.net/41961-xml-suche.html)

mav 11. Mär 2005 11:18


xml -> suche
 
hi all..

ich hab wiedermal so ein xml problem :D

ich möchte gerne in einer xml-datei suchen lassen.. und diese in einer listview anzeigen lassen..

ich habe im forum schon geschnöbert.. aber nichts gefunden, was mein problem lösen könnte..

soweit bin ich bereits

Delphi-Quellcode:
procedure TSearchForm.Button1Click(Sender: TObject);
var
  suche: IXMLDOMNode;
begin

  ListView1.Items.BeginUpdate;
  ListView1.Clear;
  xmldoc.load(MainForm.fAppPath + DATABASE_FNAME);
  suche := xmldoc.selectSingleNode('//mov[@name="'+ LabeledEdit1.Text +'"]');

end;
jedoch habe ich nun keine ahnung wie ich diese in die listview adde..

CalganX 11. Mär 2005 15:17

Re: xml -> suche
 
Hi,
die Frage bezieht sich eher auf die VCL-Angelegenheit, oder? Wenn es dir um XML geht, ist das schon ein guter Ansatz für den Rest lege ich dir jetzt einfach mal mein [dp="XML Tutorial"]Tutorial zu XML[/dp] an's Herz.

Wegen ListView:
Delphi-Quellcode:
var
  aListItem: TListItem; // Variable für das neue ListView-Item
begin
  aListItem := ListView1.Items.Add; // Item erstellen und hinzufügen
  aListItem.Caption := 'Titel'; // Titel des Eintrages festlegen
  aListItem.SubItems.Add('Untertitel'); // einen Untertitel hinzufügen
end;
So sollte es funktionieren (ist aber ungetestet).

Chris

mav 12. Mär 2005 12:41

Re: xml -> suche
 
dein tut kenn ich bereits..

jedoch funzt es nicht :(

eigendlich dachte ich mir etwas mit
Delphi-Quellcode:
i := 0 to xxxx.xxxx -1 do begin
ListView1.Items.Add.........
end;
jedoch finde ich keine passende befehle

CalganX 12. Mär 2005 12:50

Re: xml -> suche
 
Hi,
Zitat:

Zitat von mav
dein tut kenn ich bereits..

jedoch funzt es nicht :(

Inwie fern funktioniert es nicht?

Zitat:

eigendlich dachte ich mir etwas mit
Delphi-Quellcode:
i := 0 to xxxx.xxxx -1 do begin
ListView1.Items.Add.........
end;
jedoch finde ich keine passende befehle
Funktioniert genauso wie oben beschrieben:
Delphi-Quellcode:
var
  aItem: TListItem;
  i: integer;
begin
  for i:=0 to SomeInteger-1 do begin
    aListItem := SomeListView.Items.Add;
    aListItem.Caption := IntToStr(i);
  end;
end;
Chris

mav 12. Mär 2005 13:01

Re: xml -> suche
 
das problem liegt daring.. die suche (also
Delphi-Quellcode:
suche := xmldoc.selectSingleNode('//mov[@name="'+ LabeledEdit1.Text +'"]');
zu counten.. damit er weiss wieviele items er adden muss

CalganX 12. Mär 2005 13:08

Re: xml -> suche
 
Hi,
wenn suche vom Typ IXMLDOMNodeList ist, dann kannst du die Anzahl der gefundenen Nodes mit der Eigenschaft Length herausfinden.
Wie gesagt: das steht alles in dem Tutorial drin, auch wenn es nicht ganz so toll ist, wie es sein sollte. ;)

Chris

mav 14. Mär 2005 20:04

Re: xml -> suche
 
aber mit der nodelist kann ich nicht suchen..

MathiasSimmack 14. Mär 2005 21:12

Re: xml -> suche
 
Nein, denn die IXMLNodeList ist bereits das Ergebnis einer XPath-Suche. :roll: Hast du schon mal folgendes probiert:
Delphi-Quellcode:
nl := xmldoc.selectNodes('//mov[@name="'+ LabeledEdit1.Text +'"]');
ShowMessage(nl.length);
Sollte es in deiner Datei tatsächlich mehrere <mov>-Knoten mit dem gleichen "name"-Attribut geben, dann siehst du die Anzahl.

mav 14. Mär 2005 23:17

Re: xml -> suche
 
cool.. thx.. funzt jetzt

ich möchte jetzt gleich noch fragen, wie suche ich ungefähr :D

also, wenn ein eintrag vorhanden ist mit
'Borland Delphi 7'
und dass die suche auch bei der eingabe von 'delphi' erfolgreich ist...

MathiasSimmack 14. Mär 2005 23:33

Re: xml -> suche
 
Ich bin nicht sicher, aber ich glaube, das funktioniert nicht. Aber wie gesagt, ich bin nicht sicher. Und deshalb würde ich dir vorschlagen, dass du dich mal selbst mit dem Thema MSDN-Library durchsuchenXPath vertraut machst.

Wenn du das MS-XML-SDK installiert hast, bzw. das PSDK (da steht´s auch drin), dann kannst du das sogar in aller Ruhe offline lesen und ausprobieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:26 Uhr.
Seite 1 von 2  1 2      

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 by Thomas Breitkreuz