【问题标题】:parsing a CSV as XML via PHP通过 PHP 将 CSV 解析为 XML
【发布时间】:2009-09-22 22:22:40
【问题描述】:

我发现了这个将 CSV 文件解析为 XML 的脚本。问题是它似乎只在列标题之后获取第一行数据。

function csv2xml($file, $container = 'data', $rows = 'row')
{
        $r = "<{$container}>\n";
        $row = 0;
        $cols = 0;
        $titles = array();

        $handle = @fopen($file, 'r');
        if (!$handle) return $handle;

        while (($data = fgetcsv($handle, 1000, ',')) !== FALSE)
        {
             if ($row > 0) $r .= "\t<{$rows}>\n";
             if (!$cols) $cols = count($data);
             for ($i = 0; $i < $cols; $i++)
             {
                  if ($row == 0)
                  {
                       $titles[$i] = $data[$i];
                       continue;
                  }

                  $r .= "\t\t<{$titles[$i]}>";
                  $r .= $data[$i];
                  $r .= "</{$titles[$i]}>\n";
             }
             if ($row > 0) $r .= "\t</{$rows}>\n";
             $row++;
        }
        fclose($handle);
        $r .= "</{$container}>";

        return $r;
}

【问题讨论】:

    标签: php xml csv


    【解决方案1】:

    您的 CSV 可能使用回车而不是换行符,请尝试将“\n”更改为“\r”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-20
      • 2015-05-26
      • 2019-11-21
      • 2018-05-18
      • 2021-07-04
      • 2023-03-17
      • 2015-05-21
      相关资源
      最近更新 更多