This method finds the children of an element. The result follows normal iteration rules.
Access
public
Parameters
Parameter |
Type |
Required |
Description |
---|---|---|---|
|
Optional |
An XML namespace. |
|
|
Optional |
If |
Returns
Type |
Description |
---|---|
Returns a |
Examples
Traversing a pseudo-array
$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']; } } }Result:
The person begot a son who begot a daughter; The person begot a daughter who begot a son; and that son begot a son
Using namespaces
$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));Result:
int(0) int(2) int(2) int(0) int(1)