A type END; $xml = simplexml_load_string($r); $ns = $xml->getNamespaces(true); echo "Start\n"; echo $xml->title."\n"; foreach ($xml->children() as $node) echo "--$node--\n"; foreach ($xml->children($ns['gd']) as $node) { echo "--".$node->attributes()["endTime"]."--\n"; foreach ($node->attributes() as $name=>$att) echo "--$name : $att--\n"; } foreach ($xml->children($ns['gc']) as $node) { echo "--$node--\n"; echo "--".$node->attributes()['type']."--\n"; } require_once 'XmlExtractor.php'; $xmlExtractor = new XmlExtractor(); $xmlExtractor->openInput($r); $ctl = InputExtractor::EC_BEG; // read "all" top level elements while ($xmlExtractor->extractElement($ctl, $elem, $value, $fattrs) == InputExtractor::EC_CTN) { // do anything, e.g. descend in depth echo "Node $elem found.\n"; $ctl1 = InputExtractor::EC_BEG; while ($xmlExtractor->extractElement($ctl1, $elem, $value, $fattrs) == InputExtractor::EC_CTN) { echo "Node $elem found.\n"; // do anything } }