Подтвердить что ты не робот

Быстро преобразовать simpleXMLObject в STDClass?

Кто-нибудь знает быстрый способ конвертировать SimpleXMLElement в обычный объект STDClass, без повторения каждой ветки вручную? Я бы чувствовал себя лучше, работая с обычным объектом после извлечения данных.

4b9b3361

Ответ 1

Я предлагаю изучить использование XMLReader, который хорошо зарекомендовал себя для извлечения данных и хранения их как любого типа данных, а не SimpleXML. Это особенно полезно для регулярно используемых документов (я использую их, как RSSReader, для RSS), намного быстрее, чем можно было ожидать, а в качестве бонуса используется меньше памяти, чем SimpleXML.

Ответ 2

$my_std_class = json_decode(json_encode($my_simplexmlelement));
$my_assoc_array = json_decode(json_encode($my_simplexmlelement), true);

Ответ 3

Другой способ:

(object)(array)$my_simplexmlelement

К сожалению, если у вас есть дети, они остаются как SimpleXMLElement

Ответ 4

Я не знаю, есть ли способ конвертировать объект без итерации через него. Я предполагаю, что вы не можете.

Вы можете проверить этот поток, он показывает вам, как преобразовать SimpleXML в массив, вы можете адаптировать его.