Этот вопрос часто задают, но есть фундаментальная проблема, которую необходимо решать в каждом конкретном случае при преобразовании дерева XML в массив, что делает невозможным метод "один размер подходит всем": Вы отличаете узлы от атрибутов?
Например, как бы вы преобразовали этот XML в массив:
<node val="attr"><val>child</val></node>
Кроме того, узел может иметь любое количество дочерних элементов с одинаковыми именами, которые нельзя эмулировать с помощью ассоциативного массива.
Короче говоря, вам придется приготовить свое собственное решение. Судя по вашему выводу, это будет выглядеть примерно так:
$arr = array();
foreach ($Price->Prices as $Prices)
{
$tmp = array();
foreach ($Prices->attributes() as $k => $v)
{
$tmp[$k] = (string) $v;
}
$arr[] = $tmp;
}
Если это не то, что вы ищете, отредактируйте ваш вопрос и добавьте пример исходного документа (XML), а также ожидаемый результат (массив.)