@autumn_parker
В Laravel можно использовать класс SimpleXMLElement
для создания XML-файла из массива. Для этого можно использовать следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
use IlluminateSupportFacadesResponse; use IlluminateSupportFacadesFile; $array = [ 'name' => 'John Doe', 'age' => 30, 'email' => '[email protected]' ]; $xml = new SimpleXMLElement('<root/>'); array_walk_recursive($array, function ($value, $key) use ($xml) { $xml->addChild($key, $value); }); $file_name = 'data.xml'; $file_path = storage_path($file_name); File::put($file_path, $xml->asXML()); return Response::download($file_path, $file_name); |
В этом примере создается простой массив $array
, затем создается объект SimpleXMLElement
с корневым элементом <root/>
. Затем мы используем функцию array_walk_recursive
, чтобы перебрать все элементы массива и добавить их как дочерние элементы к нашему корневому элементу. Наконец, мы сохраняем XML-файл на диск и отправляем его пользователю для загрузки с помощью функции Response::download
.
Обратите внимание, что перед использованием функций File
и Response
необходимо добавить соответствующие импорты. Также не забудьте проверить права доступа к файловой системе, чтобы убедиться, что ваш скрипт имеет права на запись в папку назначения.