Parser xml avec spacename

Résolu
Bonjour,
Je tourne en rond pour essayer de parser en PHP ce fichier xml :
---------------------
<?xml version="1.0" encoding="iso-8859-1" ?>
<pdl:solution xmlns:pdl="https://www.domaine.fr/">
<pdl:rub>
<pdl:param name="champ1">toto</pdl:param>
<pdl:param name="champ2">titi</pdl:param>
</pdl:rub>
</pdl:solution>
-----------------
Les fichiers simples en xml c'est ok, mais là je cale !
qq'un pourrait-il me dépanner, svp ?
L'objectif étant d'obtenir les valeurs de champ1 et champ2

Merci pour votre aide
JF

4 réponses

  1. Essayez:

    $xml=simplexml_load_file("fichier.xml");
    $ns = $xml->getNamespaces(true);
    $pdl = $xml->children($ns['pdl']); 
    foreach ($pdl->rub as $entry){
     $params = $entry->param;
     for($i=0;$i<count($params);$i++)
     {
     echo $params[$i]->attributes()->name . ' : ' . $params[$i] . '<br>';
     }
    }
    
    2
    1. Salut,
      Merci pour ton aide.
      D'habitude j'utilise simplexml_load_file avec une simple boucle foreach.

      Mais je ne suis débuant en xml...
      JF
      0
      1. Merci beaucoup Zermat.
        C'est ce qui me manquait !
        C'est nickel maintenant.
        JF
        0