Учитывая следующий фрагмент XML и код для загрузки его с SimpleXML:
$str = <<<XML
<root>
<a>
<b>
<c>glop</c>
<d>test</d>
</b>
</a>
</root>
XML;
$xml = simplexml_load_string($str);
Вы можете "привести" $xml->a->b
к массиву, чтобы иметь возможность перебирать его:
foreach ((array)$xml->a->b as $name => $value) {
echo "$name : $value<br />";
}
И вы получите такой вывод:
c : glop
d : test
(возможно, это не совсем та же строка XML, что и у вас, но я надеюсь, что это поможет вам найти решение - если это так, вы можете отредактировать свой вопрос, чтобы показать нам свои данные XML и результаты, которые вы хочешь получить?)
Цитирование страницы справочника, в разделе Преобразование в массив :
Если объект преобразуется в массив,
Результатом является массив, элементы которого
свойства объекта.
ключи
имена переменных-членов, с
несколько заметных исключений: целое число
свойства недоступны; частный
переменные имеют имя класса
добавляется к имени переменной;
защищенные переменные имеют '*'
добавляется к имени переменной.