from: http://codestips.com/php-xml-to-csv/
To create a csv file from a xml in PHP 5.0 it’s very simple, we will just have to write some lines.
We will use the SimpleXML extension that come from PHP 5.0.
SimpleXML reads an entire xml into an object that we can iterate through his properties.
To write to the csv output file we will use fputcsv.
fputcsv formats a line as csv and writes it to the file.
Suppose we are having this xml named 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>
First we should read our xml using simplexml_load_file passing the name of the file and returns an object with all the properties and values of the csv:
$xml = simplexml_load_file($filexml);
After reading it we should iterate through all the child nodes of cars and write it to the output file using fputcsv specifying the object,delimiter and enclosure. We should first convert the object into an array in order to write it to the csv:
foreach ($xml->car as $car) fputcsv($f, get_object_vars($car),',','"');
Here is the complete source code that converts xml to csv in 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);}?>
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号