downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

SimpleXMLElement::__construct> <SimpleXMLElement::attributes
Last updated: Fri, 14 Aug 2009

view this page in

SimpleXMLElement::children

(PHP 5 >= 5.0.1)

SimpleXMLElement::childrenFinds children of given node

Description

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

This method finds the children of the element of which it is a member. The result follows normal iteration rules.

Note: SimpleXML has made a rule of adding iterative properties to most methods. They cannot be viewed using var_dump() or anything else which can examine objects.

Parameters

ns

is_prefix

Default to FALSE

Return Values

Changelog

Version Description
5.2.0 The optional parameter is_prefix was added.

Examples

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

The above example will output:

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



add a note add a note User Contributed Notes
SimpleXMLElement::children
hoseinnj at google&#39;s great mail dot com
19-Mar-2009 08:25
Quick easy way to turn objectified SimpleXMLElement data into an array.

<?php
function get_xml_from_some_source(){
//blah blah blah build cUrl
$data = @curl_exec($ch);
$newdata = new SimpleXMLElement($data);
$new = xml2array_parse($newdata);
}

function
xml2array_parse($xml){
     foreach (
$xml->children() as $parent => $child){
        
$return["$parent"] = xml2array_parse($child)?xml2array_parse($child):"$child";
     }
     return
$return;
 }
?>

My first post, be nice.  ;-)

 
show source | credits | stats | sitemap | contact | advertising | mirror sites