![]() |
Suche in einer XML datei ?
Hallo zusammen,
ich habe nur eben eine Frage, wie kann ich in einer XML Datei zur Laufzeit eine Suche Starten. Die suche soll eigentich so aussehen wie in Winamp. Man gibt also einen Begriff ein und es werden alle Ergebnisse die den Begriff beinhalten in einer Liste angezeigt und durch anklicken dann komplett angezeigt. Hat jemand sowas schonmal gemacht? MFG Cyberbob |
Re: Suche in einer XML datei ?
Hi,
Stichwort ![]() Wie man die verwendet kommt darauf an, welche Schnittstelle du verwendest. Beim direkten Zugriff über XML würdest du das so verwenden:
Delphi-Quellcode:
Ich habe das mal am Beispiel von Ordnern auf einem Unixsystem erklärt. Du navigierst sozusagen durch die verschiedenen Ebenen. So kannst du auch suchen. Angenommen es ist egal in welcher Ebene die zu suchende Node ist und das Attribut title gesucht werden soll, so sähe das zum Beispiel so aus:
xmlDoc.selectSingleNode('/XPath/zur/Node');
Delphi-Quellcode:
Ich vermute mal, dass man auch irgendwie Wildcards verwenden kann, weiß aber nicht genau wie. Dazu empfehle ich dir wieder den [google:b825983a39="XPATH]Google-Link[/google:b825983a39].
xmlDoc.selectSingleNode('//entry[@title="Zu suchender Text"]');
Chris |
Re: Suche in einer XML datei ?
Das Hilft mir schon weiter! Mal sehen was ich draus machen kann.
Vielen danke für die schnelle Hilfe! |
Re: Suche in einer XML datei ?
So habe das mal versucht, hänge nun aber daran das Ergebniss in eine Liste zu übertragen.
Delphi-Quellcode:
Ich will damit durch alle Notes suchen, ob ein Text vorhanden ist.
procedure TSchnellForm.Button1Click(Sender: TObject);
Var suche:IXMLDOMNode; x:Integer; begin suche:=xmldoc.selectSingleNode('//Mitarbeiter[@name="'+ Edit1.Text +'"]'); //ergebniss in TListview übernehmen end; end. Und alle Ergenisse, können ja auch mehrer sein, in die Liste übernehmen! Was meint ihr dazu ?
XML-Code:
MFG
<?xml version="1.0" encoding="ISO-8859-1"?>
<schumacher> <mitarbeiter> <name>Test</name> <vorname>test1</vorname> <sonstigenamen>test2</sonstigenamen> <telefonnummer>test3</telefonnummer> <fax>test4</fax> </mitarbeiter> <mitarbeiter> <name>Test100</name> <vorname>test11</vorname> <sonstigenamen>test22</sonstigenamen> <telefonnummer>test33</telefonnummer> <fax>test44</fax> </mitarbeiter> </schumacher> Cyberbob |
Re: Suche in einer XML datei ?
Zitat:
|
Re: Suche in einer XML datei ?
Jo danke ist mir entfallen!
Noch ne Frage zum Suchen
Delphi-Quellcode:
sucht er dabei nur den genauen Text oder auch alle Elemente die den Text enthalten ?
suche:=xmldoc.selectSingleNode('//Mitarbeiter[@name="'+ Edit1.Text +'"]');
oder würde das auch so gehen ?
Delphi-Quellcode:
suche:=xmldoc.selectSingleNode('//Mitarbeiter[@name="*'+ Edit1.Text +'*"]');
|
Re: Suche in einer XML datei ?
Zitat:
Zitat:
|
Re: Suche in einer XML datei ?
Hi,
zusätzlich musst du beim Suchen von Nodes das @ herausnehmen. Das zeigt nämlich ein Attribut an. ;) Chris |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:07 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