PHP CSV XML dönüştürme

2 Cevap php

PHP kullanarak bir CSV bir XML dosyasını dönüştürmek için bir yolu var mı?

2 Cevap

Böyle http://codestips.com/php-xml-to-csv/ gibi kod örnekleri bulmak için arama motorlarını kullanın

Çok basit PHP 5.0 bir xml bir csv dosyası oluşturmak için, biz sadece bazı satırları yazmak zorunda olacak.

Biz PHP 5.0 gelen SimpleXML uzantısı.

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 csv gibi bir çizgi biçimlendirir ve dosyaya yazar.

Bu xml adında cars.xml yaşıyorsanız varsayalım:

<?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>

Öncelikle dosyanın adını geçirerek simplexml_load_file kullanarak bizim xml okumak ve CSV tüm özellikleri ve değerleri ile bir nesne döndürür olmalıdır:

$xml = simplexml_load_file($filexml);

Okuduktan sonra araçların tüm alt düğümlerini yinelemek gerekir ve nesne, sınırlayıcı ve muhafaza belirterek fputcsv kullanarak çıkış dosyasına yazma. Önce csv bunu yazmak için bir diziye nesneyi dönüştürmek gerekir:

foreach ($xml->car as $car) 
fputcsv($f, get_object_vars($car),',','"');

İşte php 5.0 ile csv xml dönüştüren tam kaynak kodu:

<?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);
}
?>

Evet Magic Parser ile kolayca yapabilirsiniz.