Rechercher une fonction PHP

SimpleXMLElement::children

(PHP 5, PHP 7)

SimpleXMLElement::childrenCherche les fils d'un noeud donné

Description

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

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.

Retour à la première page de Manuel PHP  Table des matières Haut

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.

Retour à la première page de Manuel PHP  Table des matières Haut

Valeurs de retour

Retourne un élément SimpleXMLElement que le noeud possède un fils ou pas.

Retour à la première page de Manuel PHP  Table des matières Haut

Historique

Version Description
5.2.0 Le paramètre optionnel is_prefix a été ajouté.

Retour à la première page de Manuel PHP  Table des matières Haut

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)

Retour à la première page de Manuel PHP  Table des matières Haut

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.

Retour à la première page de Manuel PHP  Table des matières Haut

Voir aussi

Rechercher une fonction PHP

Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-simplexmlelement.children.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : http://php.net

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut