SimpleXMLElement::attributes
SimpleXMLElement::__construct
SimpleXMLElement
PHP Manual

# SimpleXMLElement::children

(PHP 5 >= 5.0.1)

SimpleXMLElement::children — Cherche les fils d'un noeud donné

### Description

public SimpleXMLElement SimpleXMLElement::children ([ string `$ns` [, bool `$is_prefix` = false ]] )

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` vaut `TRUE`, `ns` sera considéré comme un préfixe. S'il vaut `FALSE`, `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'];
}
}
}
?>`

L'exemple ci-dessus va afficher :

    The person begot a son who begot a daughter; The person
    begot a daughter who begot a son; and that son begot a son

Exemple #2 Utilisation des espaces de noms

`<?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

SimpleXMLElement::attributes
SimpleXMLElement::__construct
SimpleXMLElement
PHP Manual