Convertir XML a CSV in PHP

Preguntas sobre los lenguajes de programación más comunes como C/C++, PHP, Gambas, Perl, SHELL Script, HTML, Python, SQL, etc.
adminweb
Site Admin
Mensajes: 16
Registrado: Dom Abr 14, 2013 7:18 pm

Convertir XML a CSV in PHP

Mensajepor adminweb » Jue Ene 01, 2015 1:47 pm

Código: Seleccionar todo

    // En este caso, el XML es del tipo:
    // <records>
    //  <record>...</record>
    //  <record>...</record>
    // </records>

El código que lo convierte:

Código: Seleccionar todo

<?php

  if($xml = simplexml_load_string($string)){
    // Keep up to 12MB in memory, if becomes bigger write to temp file
    $file = fopen('php://temp/maxmemory:'. (12*1024*1024), 'r+');
    if($row = get_object_vars($xml->record[0])){ // First record
      // First row contains column header values
      foreach($row as $key => $value){
        $header[] = $key;
      }
      fputcsv($file, $header,',','"');
      foreach ($xml->record as $record) {
        fputcsv($file, get_object_vars($record),',','"');
      }
      rewind($file);
      $output = stream_get_contents($file);
      fclose($file);
      return $output;
    }else{
      return '';
    }
  }
?>

Volver a “Desarrollo”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado