PHP XMLからCSVへ

WBOY
WBOYオリジナル
2016-06-23 14:36:30957ブラウズ

出典: 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 に変換するための
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。