Используйте поисковые системы, чтобы найти примеры кода, такие как http://codestips.com/php-xml-to-csv/
Чтобы создать файл CSV из XML в PHP 5.0, это очень просто, нам просто нужно написать несколько строк.
Мы будем использовать расширение SimpleXML, пришедшее из PHP 5.0.
SimpleXML считывает весь xml в объект, который мы можем перебирать через его свойства.
Для записи в выходной файл csv мы будем использовать fputcsv.
fputcsv форматирует строку как csv и записывает ее в файл.
Предположим, у нас есть этот xml с именем cars.xml:
<?xml version='1.0'?>
<cars>
<car>
<color>blue</color>
<price>2000</price>
</car>
<car>
<color>red</color>
<price>10000</price>
</car>
<car>
<color>black</color>
<price>5000</price>
</car>
</cars>
Сначала мы должны прочитать наш xml, используя simplexml_load_file, передавая имя файла и возвращая объект со всеми свойствами и значениями csv:
$xml = simplexml_load_file($filexml);
После прочтения мы должны перебрать все дочерние узлы автомобилей и записать его в выходной файл, используя fputcsv, указав объект, разделитель и вложение. Сначала нужно преобразовать объект в массив, чтобы записать его в csv:
foreach ($xml->car as $car)
fputcsv($f, get_object_vars($car),',','"');
Вот полный исходный код, который преобразует XML в CSV в PHP 5.0:
<?php
$filexml='cars.xml';
if (file_exists($filexml)) {
$xml = simplexml_load_file($filexml);
$f = fopen('cars.csv', 'w');
foreach ($xml->car as $car) {
fputcsv($f, get_object_vars($car),',','"');
}
fclose($f);
}
?>