ホームページ >バックエンド開発 >PHPチュートリアル >PHP XMLからCSVへ
出典: http://codestips.com/php-xml-to-csv/
PHP 5.0 で xml から csv ファイルを作成するのは非常に簡単で、いくつかの行を記述するだけです。 PHP 5.0 の SimpleXML 拡張機能を使用します。
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>
まず、ファイル名を渡す simplexml_load_file を使用して XML を読み取り、CSV のすべてのプロパティと値を含むオブジェクトを返す必要があります。 :
$xml = simplexml_load_file($filexml);
それを読んだ後、cars のすべての子ノードを反復処理し、オブジェクト、区切り記号、および囲いを指定して fputcsv を使用して出力ファイルに書き込む必要があります。 csv に書き込むために、まずオブジェクトを配列に変換する必要があります:
foreach ($xml->car as $car) fputcsv($f, get_object_vars($car),',','"');
これは、php 5.0 で xml を csv に変換する完全なソース コードです:
<?$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 ソース コードをダウンロードXML を CSV に変換するための