Parser xml avec spacename

Résolu
JF11 Messages postés 39 Statut Membre -  
JF11 Messages postés 39 Statut Membre -
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. zermat Messages postés 160 Statut Membre 16
     
    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
  2. JF11 Messages postés 39 Statut Membre 2
     
    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
  3. JF11 Messages postés 39 Statut Membre 2
     
    Merci beaucoup Zermat.
    C'est ce qui me manquait !
    C'est nickel maintenant.
    JF
    0