It isn't crystal clear from your question, but I assume this array
array(
'items' => array(
'item' => array(
(int) 0 => array(
'@item' => '3-394-001068-00000'),
(int) 1 => array(
'@item' => '3-394-001069-00000'),
is the result of your debug($xmlarray);
, so we can rule out misslocation of a file (if I'm assuming wrong, do tell).
So, the hash is your problem.
See, according to docs, the {n}
refers to "a numeric key", and "items" is clearly not. If you want to extract all "item" inside "items", it should be
Hash::extract($xmlarray, 'items.item');
and that will give you
array((int) 0 => array(
'@item' => '3-394-001068-00000'),
(int) 1 => array(
'@item' => '3-394-001069-00000'),
/*etc*/
and, if you want to have a much compact array (don't know if you need the index associations), you could try
Hash::extract($xmlarray, 'items.item.{n}.@item');
and that'll get you
array('3-394-001068-00000', '3-394-001069-00000')