SimpleXMLElement::children

Finds children of given node

&reftitle.description; public ``SimpleXMLElement``null```SimpleXMLElement::children` ``string``null```namespaceOrPrefix`&null; `bool` `isPrefix`&false;

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

&simplexml.iteration;
&reftitle.parameters;

`namespaceOrPrefix`

- An XML namespace.

`isPrefix`

- If `isPrefix` is &true;, `namespaceOrPrefix` will be regarded as a prefix. If &false;, `namespaceOrPrefix` will be regarded as a namespace URL.

&reftitle.returnvalues;

Returns a `SimpleXMLElement` element, whether the node has children or not, unless the node represents an attribute, in which case &null; is returned.

&reftitle.examples;

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

&example.outputs;

    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

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

&reftitle.seealso;

- `SimpleXMLElement::count`
- `count`