login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Zoeken in xml/array

Offline gothmog - 25/08/2008 10:07
Avatar van gothmogLid Hallo,

Voor een suggestiebox heb ik nu een xml bestand aangemaakt als cache ipv iedere keer in de database te zoeken. Maar nu moet ik kunnen zoeken in dat xml bestand.
Xml laadt ik trouwens simpel:
  1. $xml = simplexml_load_file($rss_file);


Het zoeken hoeft niet moeilijk, net als via LIKE in SQL dus:
naam LIKE '%....%'

Nu weet ik niet of je ook makkelijk in de xml kan zoeken, anders moet ik via wat voor een functies dan ook in $xml of in een array zoeken.
Iemand al ervaring met iets als dit en weet hoe ik dit het beste kan doen?

Bedankt!

4 antwoorden

Gesponsorde links
Offline vinTage - 25/08/2008 10:15 (laatste wijziging 25/08/2008 10:17)
Avatar van vinTage Nieuw lid Waarom zou je willen zoeken in dat xml bestand, je kan toch veel simpeler zoeken in de database ?

Het opslaan als xml is leuk om je server te ontlasten, maar voor een search query is de database natuurlijk veel sneller.


edit:
http://snippets.dzone.com/posts/show/2719
Offline Rik - 25/08/2008 10:17
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Je kunt dat object doorlopen met een foreach. Het ligt eraan hoe je xml bestand eruit ziet, maar waarschijnlijk heb jevoor elk record iets als <item>, dus dan kun je $xml->item doorlopen.

En dan kun je met een regex zoeken. In plaats van de sql wildcard % gebruik je dan .* in regex.
Offline gothmog - 25/08/2008 10:24
Avatar van gothmog Lid Ben ik even aan het testen dus vinTage. Het laden van gegevens ging al 2x zo snel met een xml bestand, wellicht met een goed zoeksysteem ook. En aangezien het om een suggestiebox gaat, moet deze bij iedere ingevoerde letter een andere query uitvoeren dus ben aan het kijken of zo sneller of even snel gaat. Als het langzamer gaat gebruik ik gewoon mysql.
Offline Ontani - 25/08/2008 10:30
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
In principe zijn files sneller dan databases, het is meestal gewoon simpeler om het in een database te doen.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.546s