Passer ton XML en array associatif te faciliterai pas la tâche ?
<?php
/**
* Convertir un fichier XML en tableau associatif
* @param \SimpleXMLElement $xml Fichier XML (simplexml_load_file)
* @return array Tableau associatif
*/
function xml2array(\SimpleXMLElement $xml) {
$retour = array();
foreach ($xml as $nom => $element) {
$enfant = get_object_vars($element);
if (!empty($enfant)) {
// Il y a un sous élément : on le traite (recursif)
$retour[$nom] = $element instanceof SimpleXMLElement ? self::xml2array($element) : $enfant;
} else {
// C'est juste une valeur : on l'ajoute au tableau
$retour[$nom] = trim($element);
}
}
return $retour;
}
// Utilisation :
$xml = simplexml_load_file('fichier.xml');
$info = xml2array($xml);
echo '<pre>';
print_r($info);
--
Matthieu