Stavo cercando un metodo per fare ricerche su di un file XML con PHP
Ho letto diversi tutorial ma non ho trovato nulla che facesse al caso mio.
Mi spiego: ho un XML con i i titoli, l'anno, il genere, il regista, il produttore, un numero progressivo attribuito da me e gli attori principali di tanti film.
Devo utilizzare una stringa per fare una ricerca:
volevo dare la possibilita' di effettuare tale ricerca non su tutto il documento ma solo sul titolo o sul genere o sugli attori e cosi' via.
Se io apro il file XML con:
mioXML = simplexml_load_file('mio.xml');
poi posso iterare su un determinato nodo solo se conosco il nome del nodo:
es: foreach ($mioXML->Title as $item) {.....}
se invece io volessi iterare su un nodo (fra quelli esistenti) scelti dall' utente?
es: volgio cercare 'Di Caprio' solo fra il nodo <ATTORI> e non su tutti gli altri..
come faccio ad usare una variabile al posto di Title nell' esempio precedente?
Ho sperimentato anche xpath ma non sembra fare al caso mio.
Ad esempio se ricerco usando:
$risult=mioXML->xpath('//Titolo') - anche qui non so come utilizzare una variabile (??)
mi ritrovo con un array che posso scorrere e fino a qui ci siamo ma uan volta individuato la corrispondenza tra la stringa e il valore da cercare (ad esempio 'Sogni' tra i titoli dei nodi <TITOLO>) quello che a me serve e' trovare il numero progressivo che gli ho attribuito e usando xpath credo di non poterlo recuperare dall' array? Giusto?
Qualceh suggerimento su come poter operare?
Come fareste voi?
Grazie in anticipo
Fabrizio.
Ho letto diversi tutorial ma non ho trovato nulla che facesse al caso mio.
Mi spiego: ho un XML con i i titoli, l'anno, il genere, il regista, il produttore, un numero progressivo attribuito da me e gli attori principali di tanti film.
Devo utilizzare una stringa per fare una ricerca:
volevo dare la possibilita' di effettuare tale ricerca non su tutto il documento ma solo sul titolo o sul genere o sugli attori e cosi' via.
Se io apro il file XML con:
mioXML = simplexml_load_file('mio.xml');
poi posso iterare su un determinato nodo solo se conosco il nome del nodo:
es: foreach ($mioXML->Title as $item) {.....}
se invece io volessi iterare su un nodo (fra quelli esistenti) scelti dall' utente?
es: volgio cercare 'Di Caprio' solo fra il nodo <ATTORI> e non su tutti gli altri..
come faccio ad usare una variabile al posto di Title nell' esempio precedente?
Ho sperimentato anche xpath ma non sembra fare al caso mio.
Ad esempio se ricerco usando:
$risult=mioXML->xpath('//Titolo') - anche qui non so come utilizzare una variabile (??)
mi ritrovo con un array che posso scorrere e fino a qui ci siamo ma uan volta individuato la corrispondenza tra la stringa e il valore da cercare (ad esempio 'Sogni' tra i titoli dei nodi <TITOLO>) quello che a me serve e' trovare il numero progressivo che gli ho attribuito e usando xpath credo di non poterlo recuperare dall' array? Giusto?
Qualceh suggerimento su come poter operare?
Come fareste voi?
Grazie in anticipo
Fabrizio.