1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| while ($reader->read())
{
//si on arrive au noeud <evenement>, on le clone pour conserver une copie
if ($reader->localName == 'evenement') $reader_copied = clone $reader;
if ($reader->localName == 'lieu' && $reader->nodeType == XMLReader::ELEMENT)
{
$reader->read();
if ($reader->value == 'Paris')
{
$reader = $reader_copied; //on repart du noeud <evenement>
$reader->read();//on avance pour lire le noeud après <evenement>
while ($reader->localName != 'evenement')
{
//tu récupères tes noeuds et tu fais tes traitements
$reader->read();//pour faire avancer le curseur
}
}
}
} |
Partager