Hello,
just a note for people like me who encounter the problems :
<?php
foreach($xmlIterator as $x)
{
if($x->hasChildren())
{
//never reach
echo 'x : ';
var_dump($x->current());
}
if($xmlIterator->hasChildren())
{
echo 'iterator : ';
var_dump($x->current()); //all time null
var_dump($xmlIterator->current());
}
}
?>
SimpleXMLIterator::hasChildren
(PHP 5 >= 5.1.0)
SimpleXMLIterator::hasChildren — Indique si l'entrée courante de SimpleXML est un objet
Description
bool SimpleXMLIterator::hasChildren
( void
)
Cette méthode vérifie si l'objet courant SimpleXMLIterator a des sous-éléments.
Liste de paramètres
Cette fonction ne contient aucun paramètre.
Valeurs de retour
TRUE si l'entrée courante a des sous-éléments, FALSE sinon.
Exemples
Exemple #1 Vérifie si un élément a des sous-éléments
<?php
$xml = <<<XML
<books>
<book>
<title>PHP Basics</title>
<author>Jim Smith</author>
</book>
<book>XML basics</book>
</books>
XML;
$xmlIterator = new SimpleXMLIterator( $xml );
for( $xmlIterator->rewind(); $xmlIterator->valid(); $xmlIterator->next() ) {
if($xmlIterator->hasChildren()) {
var_dump($xmlIterator->current());
}
}
?>
L'exemple ci-dessus va afficher :
object(SimpleXMLIterator)#2 (2) {
["title"]=>
string(10) "PHP Basics"
["author"]=>
string(9) "Jim Smith"
}
grummfy at gmail dot com
12-Feb-2010 01:01
