Php XML到MD数组

Php XML到MD数组,php,arrays,xml,Php,Arrays,Xml,我正在尝试将XML提要转换为数组 XML 转换后 Array ( [auction] => Array ( [uniqueid] => 360116 05 [title] => puma [category] => men / puma [description] => [price] => 111.00

我正在尝试将XML提要转换为数组

XML

转换后

Array
(
    [auction] => Array
        (
            [uniqueid] => 360116 05
            [title] => puma
            [category] => men / puma
            [description] => 
            [price] => 111.00
            [currency] => eur
            [brand] => puma
            [photos] => Array
                (
                    [url] => http://via.placeholder.com/350x150?text=6
                )

            [stocks] => Array
                (
                    [stock] => Array
                        (
                            [amount] => 1
                            [size] => 42
                        )

                )

        )

)

如何在数组中添加所有URL和股票?

将XML解析为数组的最简单方法是将JSON返回的对象作为第二个参数传递
TRUE

$xml = <<< END
<?xml version="1.0" encoding="utf-8" ?>
<products>
    <!-- your XML here -->
</products>
END;

$array = json_decode(json_encode(simplexml_load_string($xml)), TRUE);
$xml=将代码更改为

if (!empty($e)) {
    $temp[$tag] = $element instanceof SimpleXMLElement ? $this->xml2array($element) : $e;
} elseif (array_key_exist($tag, $temp)) {
    if (!is_array($temp[$tag])) {
        $temp[$tag] = array($temp[$tag]);
    }
    $temp[$tag][] = trim($element);
} else {
    $temp[$tag] = trim($element);
}

谢谢你的回答@fireycat
$xml = <<< END
<?xml version="1.0" encoding="utf-8" ?>
<products>
    <!-- your XML here -->
</products>
END;

$array = json_decode(json_encode(simplexml_load_string($xml)), TRUE);
if (!empty($e)) {
    $temp[$tag] = $element instanceof SimpleXMLElement ? $this->xml2array($element) : $e;
} elseif (array_key_exist($tag, $temp)) {
    if (!is_array($temp[$tag])) {
        $temp[$tag] = array($temp[$tag]);
    }
    $temp[$tag][] = trim($element);
} else {
    $temp[$tag] = trim($element);
}