Parser xml avec spacename

Résolu/Fermé
JF11 Messages postés 36 Date d'inscription mercredi 17 décembre 2008 Statut Membre Dernière intervention 9 novembre 2019 - 7 juil. 2014 à 16:22
JF11 Messages postés 36 Date d'inscription mercredi 17 décembre 2008 Statut Membre Dernière intervention 9 novembre 2019 - 8 juil. 2014 à 11:41
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



A voir également:

4 réponses

zermat Messages postés 160 Date d'inscription jeudi 19 juin 2014 Statut Membre Dernière intervention 3 juin 2016 16
7 juil. 2014 à 21:59
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
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
7 juil. 2014 à 17:30
Salut,

Avec quel API souhaites-tu parser ton fichier xml ?

Avec DomDocument par exemple, il faut regarder du coté de getElementsByTagNameNS : https://www.php.net/manual/en/domdocument.getelementsbytagnamens.php

Bonne journée
1
JF11 Messages postés 36 Date d'inscription mercredi 17 décembre 2008 Statut Membre Dernière intervention 9 novembre 2019 2
7 juil. 2014 à 18:14
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
JF11 Messages postés 36 Date d'inscription mercredi 17 décembre 2008 Statut Membre Dernière intervention 9 novembre 2019 2
8 juil. 2014 à 11:41
Merci beaucoup Zermat.
C'est ce qui me manquait !
C'est nickel maintenant.
JF
0