(PHP 5, PHP 7, PHP 8)
SimpleXMLElement::children — Cherche les fils d'un nœud donné
Description
public
SimpleXMLElement::children(?string
$namespaceOrPrefix
=
null
, bool
$isPrefix
=
false
): ?SimpleXMLElement
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
-
namespaceOrPrefix
-
Un espace de noms XML.
-
isPrefix
-
Si isPrefix
vaut true
,
namespaceOrPrefix
sera considéré comme
un préfixe.
S'il vaut false
, namespaceOrPrefix
sera
considéré comme une URL
vers un espace de noms.
Valeurs de retour
Retourne un élément SimpleXMLElement
que le nœud possède un fils ou pas, sauf si le noeud représente un attribut,
auquel cas null
est retourné.
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)
Voir aussi
- SimpleXMLElement::count() - Compte le nombre de fils pour un élément
- count() - Compte tous les éléments d'un tableau ou dans un objet Countable