Parser xml avec spacename
Résolu
JF11
Messages postés
39
Statut
Membre
-
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
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
-
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>'; } } -
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 -
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 -
Merci beaucoup Zermat.
C'est ce qui me manquait !
C'est nickel maintenant.
JF