SimpleXMLElement::attributes
SimpleXMLElement::__construct
SimpleXMLElement
PHP Manual

# SimpleXMLElement::children

(PHP 5 >= 5.0.1)

SimpleXMLElement::children — Finds children of given node

### Descrição

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

This method finds the children of an element. The result follows normal iteration rules.

> Nota: SimpleXML tem uma regra quando do acréscimo de propriedades iterarivas na maioria dos métodos. Eles não podem ser visualizados com var_dump() nem nada que possa visualizar objetos.

### Parâmetros

`ns`

  An XML namespace.

`is_prefix`

  If `is_prefix` is `TRUE`, `ns` will be regarded as a prefix. If `FALSE`, `ns` will be regarded as a namespace URL.

### Valor Retornado

Returns a SimpleXMLElement element, whether the node has children or not.

### Histórico

Versão | Descrição
--- | ---
5.2.0 | The optional parameter `is_prefix` was added.

### Exemplos

Exemplo #1 Traversing a children() pseudo-array

`<?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'];
}
}
}
?>`

O exemplo acima irá imprimir:

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

Exemplo #2 Using namespaces

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

### Notas

SimpleXMLElement::children returns a node object no matter if the current node has children or not. Use count() on the return value to see if there are any children. As of PHP 5.3.0, SimpleXMLElement::count may be used instead.

### Veja Também

- SimpleXMLElement::count - Counts the children of an element
- count() - Conta o número de elementos de uma variável, ou propriedades de um objeto

SimpleXMLElement::attributes
SimpleXMLElement::__construct
SimpleXMLElement
PHP Manual