![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/framework/Convert/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\Convert; /** * Convert xml data (SimpleXMLElement object) to array */ class Xml { /** * Transform \SimpleXMLElement to associative array * \SimpleXMLElement must be conform structure, generated by assocToXml() * * @param \SimpleXMLElement $xml * @return array */ public function xmlToAssoc(\SimpleXMLElement $xml) { $array = []; foreach ($xml as $key => $value) { if (isset($value->{$key})) { $i = 0; foreach ($value->{$key} as $v) { $array[$key][$i++] = (string)$v; } } else { // try to transform it into string value, trimming spaces between elements $array[$key] = trim((string)$value); if (empty($array[$key]) && !empty($value)) { $array[$key] = $this->xmlToAssoc($value); } else { // untrim strings values $array[$key] = (string)$value; } } } return $array; } }