AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Suche in einer XML datei ?

Ein Thema von Cyberbob_at_tot · begonnen am 11. Okt 2004 · letzter Beitrag vom 12. Okt 2004
Antwort Antwort
Cyberbob_at_tot

Registriert seit: 30. Apr 2003
Ort: Ahlen
270 Beiträge
 
Delphi 2006 Professional
 
#1

Suche in einer XML datei ?

  Alt 11. Okt 2004, 15:00
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
-----------------------------------------------------------
The only winning move is not to play ! (Wargames)
-----------------------------------------------------------
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Suche in einer XML datei ?

  Alt 11. Okt 2004, 15:06
Hi,
Stichwort Bei Google suchenXPath.
Wie man die verwendet kommt darauf an, welche Schnittstelle du verwendest. Beim direkten Zugriff über XML würdest du das so verwenden:
xmlDoc.selectSingleNode('/XPath/zur/Node'); 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('//entry[@title="Zu suchender Text"]'); 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].

Chris
  Mit Zitat antworten Zitat
Cyberbob_at_tot

Registriert seit: 30. Apr 2003
Ort: Ahlen
270 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Suche in einer XML datei ?

  Alt 11. Okt 2004, 15:10
Das Hilft mir schon weiter! Mal sehen was ich draus machen kann.

Vielen danke für die schnelle Hilfe!
-----------------------------------------------------------
The only winning move is not to play ! (Wargames)
-----------------------------------------------------------
  Mit Zitat antworten Zitat
Cyberbob_at_tot

Registriert seit: 30. Apr 2003
Ort: Ahlen
270 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Suche in einer XML datei ?

  Alt 12. Okt 2004, 10:15
So habe das mal versucht, hänge nun aber daran das Ergebniss in eine Liste zu übertragen.

Delphi-Quellcode:
procedure TSchnellForm.Button1Click(Sender: TObject);
Var suche:IXMLDOMNode;
x:Integer;
begin
suche:=xmldoc.selectSingleNode('//Mitarbeiter[@name="'+ Edit1.Text +'"]');
//ergebniss in TListview übernehmen
end;

end.
Ich will damit durch alle Notes suchen, ob ein Text vorhanden ist.
Und alle Ergenisse, können ja auch mehrer sein, in die Liste übernehmen!
Was meint ihr dazu ?
XML-Code:
<?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>
MFG

Cyberbob
-----------------------------------------------------------
The only winning move is not to play ! (Wargames)
-----------------------------------------------------------
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#5

Re: Suche in einer XML datei ?

  Alt 12. Okt 2004, 10:19
Zitat von Cyberbob_at_tot:
Ich will damit durch alle Notes suchen, ob ein Text vorhanden ist.
Und alle Ergenisse, können ja auch mehrer sein, in die Liste übernehmen!
Dann nimm "selectNodes", wenn es mehrere sein könnten. Das Prinzip ist das gleiche, nur ist das Rückgabeergebnis kein IXMLDomNode sondern eine IXMLDomNodeList.
  Mit Zitat antworten Zitat
Cyberbob_at_tot

Registriert seit: 30. Apr 2003
Ort: Ahlen
270 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Suche in einer XML datei ?

  Alt 12. Okt 2004, 10:28
Jo danke ist mir entfallen!

Noch ne Frage zum Suchen
suche:=xmldoc.selectSingleNode('//Mitarbeiter[@name="'+ Edit1.Text +'"]'); sucht er dabei nur den genauen Text oder auch alle Elemente die den Text enthalten ?

oder würde das auch so gehen ?
suche:=xmldoc.selectSingleNode('//Mitarbeiter[@name="*'+ Edit1.Text +'*"]');
-----------------------------------------------------------
The only winning move is not to play ! (Wargames)
-----------------------------------------------------------
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#7

Re: Suche in einer XML datei ?

  Alt 12. Okt 2004, 14:22
Zitat von Cyberbob_at_tot:
Noch ne Frage zum Suchen
suche:=xmldoc.selectSingleNode('//Mitarbeiter[@name="'+ Edit1.Text +'"]'); sucht er dabei nur den genauen Text oder auch alle Elemente die den Text enthalten ?
In dem Fall: Ja, so wie´s im Editfeld steht, muss es vorhanden sein.

Zitat:
oder würde das auch so gehen ?
suche:=xmldoc.selectSingleNode('//Mitarbeiter[@name="*'+ Edit1.Text +'*"]');
Einfach mal ausprobieren. Der PC geht schon nicht kaputt wg. so was.
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Suche in einer XML datei ?

  Alt 12. Okt 2004, 15:38
Hi,
zusätzlich musst du beim Suchen von Nodes das @ herausnehmen. Das zeigt nämlich ein Attribut an.

Chris
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz