SimpleXMLElement::children
(PHP 5 >= 5.0.1)
SimpleXMLElement::children — Cherche les fils d'un noeud donné
Description
Cette méthode cherche les fils d'un élément. Le résultat suit les règles de l'itération normale.
Note: SimpleXML ajoute des propriétés itératives pour presque toutes ses méthodes. Celles-ci ne peuvent être vues en utilisant var_dump() ou tout autre fonction qui examine les objets.
Liste de paramètres
-
ns
-
Un espace de noms XML.
-
is_prefix
-
Si
is_prefix
vautTRUE
,ns
sera considéré comme un préfixe. S'il vautFALSE
,ns
sera considéré comme une URL vers un espace de noms.
Valeurs de retour
Retourne un élément SimpleXMLElement que le noeud possède un fils ou pas.
Historique
Version | Description |
---|---|
5.2.0 |
Le paramètre optionnel is_prefix a été ajouté.
|
Exemples
Exemple #1 Parcours d'un pseudo-tableau children()
<?php $xml = new SimpleXMLElement( '<person> <child role="son"> <child role="daughter"/> </child> <child role="daughter"> <child role="son"> <child role="son"/> </child> </child> </person>'); foreach ($xml->children() as $second_gen) { echo ' The person begot a ' . $second_gen['role']; foreach ($second_gen->children() as $third_gen) { echo ' who begot a ' . $third_gen['role'] . ';'; foreach ($third_gen->children() as $fourth_gen) { echo ' and that ' . $third_gen['role'] . ' begot a ' . $fourth_gen['role']; } } } ?>
<?php $xml = '<example xmlns:foo="my.foo.urn"> <foo:a>Apple</foo:a> <foo:b>Banana</foo:b> <c>Cherry</c> </example>'; $sxe = new SimpleXMLElement($xml); $kids = $sxe->children('foo'); var_dump(count($kids)); $kids = $sxe->children('foo', TRUE); var_dump(count($kids)); $kids = $sxe->children('my.foo.urn'); var_dump(count($kids)); $kids = $sxe->children('my.foo.urn', TRUE); var_dump(count($kids)); $kids = $sxe->children(); var_dump(count($kids)); ?>
int(0) int(2) int(2) int(0) int(1)
Notes
SimpleXMLElement::children() retourne un noeud, peu importe si le noeud courant a un fils ou non. Utilisez la fonction count() sur le résultat pour vérifier si des fils existent. SimpleXMLElement::count() peut aussi être utilisée à cet effet à partir de PHP 5.3.0.
Voir aussi
- SimpleXMLElement::count() - Compte le nombre de fils pour un élément
- count() - Compte tous les éléments d'un tableau ou quelque chose d'un objet