Ok.. ho fatto una prova e a me funziona correttamente, per cui non capisco quale sia il tuo problema.
Ecco l'esempio pratico sia utilizzando foreach (con cui ciclo tutti i nodi), sia utilizzando for (con cui ciclo solo i primi due nodi):
Codice PHP:
<?php
// stringa xml
$xmlstr="<root>";
$xmlstr.="<item>nodo 1</item>";
$xmlstr.="<item>nodo 2</item>";
$xmlstr.="<item>nodo 3</item>";
$xmlstr.="<item>nodo 4</item>";
$xmlstr.="<item>nodo 5</item>";
$xmlstr.="</root>";
//
$news = new SimpleXMLElement($xmlstr);
//
// stampa la lista di tutti i nodi item
echo "tutti i nodi item
";
foreach ($news->item as $item) {
echo $item."
";
}
// stampa solo i primi due nodi item
echo "
i primi due nodi item
";
for ( $i = 0; $i <= 1; $i++){
$item=$news->item[$i];
echo $item."
";
}
?>