savoir si un SimpleXMLElement a des attributs ou pas
Le
Fred

Bonjour,
Pourtriez-vous me dire SVP comment faire pour tester si un objet de type
SimpleXMLElement a des attributs ou pas ?
J'ai essayé en vain :
if ($xml->attributes())
if (isset($xml->attributes()) ..
mais ça échoue
merci !
Fred
Pourtriez-vous me dire SVP comment faire pour tester si un objet de type
SimpleXMLElement a des attributs ou pas ?
J'ai essayé en vain :
if ($xml->attributes())
if (isset($xml->attributes()) ..
mais ça échoue
merci !
Fred
Le 13/02/2013 16:36, Fred a écrit :
Je n'ai jamais utilisé cet objet, mais voici ce que je trouve dans un
commentaire utilisateur dans la doc :
http://www.php.net/manual/en/simplexmlelement.attributes.php#110574
Donc peut-être :
$atts_array = (array) $xml->attributes();
if (count($atts_array) == 0) ...
J'ai bien regardé ça mais le problème que le seul fait d'appeler
$xml->attributes();
lorsqu'il n'y a pas d'attributs, génère une erreur !
Le 14/02/2013 09:26, Olivier Miakinen a écrit :
Que ne le disais-tu dans ton premier article ! Et si tu nous
disais ce que raconte l'erreur pour qu'on ne perde pas plus de
temps ? ;-)
Voyons :
http://www.php.net/manual/en/simplexmlelement.attributes.php
http://www.php.net/manual/fr/simplexmlelement.attributes.php
Non seulement il n'est pas prévu que cette fonction retourne une
erreur si la balise n'a pas d'attributs, mais même il est prévu
qu'elle retourne NULL si l'objet est déjà lui-même un attribut
au lieu d'une balise !
Il faudrait voir quelle est l'erreur, mais je parierais que ton
$xml contient NULL suite à une erreur d'un appel précédent. À toi
de confirmer ou d'infirmer mon hypothèse.
P.-S. :
(¹) http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html
(merci)
Cordialement,
--
Olivier Miakinen