使用PHP创建大型xml文件的最佳方法是什么?

时间:2012-03-29 09:33:19

标签: php mysql xml

我尝试用php创建一个xml文件。

由于文件是mySQL数据库的摘录,因此记录集可能包含大约90000行。 因此生成xml文件很慢,大约50秒。

我不想进行转储,只是创建一个文件发送给Flashbuilder来创建数据提供者。

我尝试使用多个过程:

DOMDocument
XmlWriter
SimpleXMLElement

但是使用这些方法,创建文件的时间是一样的。

我在服务器端进行了另一项测试,使用此指令:ini_set('memory_limit','-1');

你知道另一种方法,写大xml文件速度太快。

感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

您确定要通过PHP路由数据吗?也许您可以使用mysqldump能力以XML格式创建输出:请参阅此处的MySQL docu

mysqldump -X yourDb yourTable

答案 1 :(得分:0)

mysqldump将是最好的。

否则,取决于您是否具有特定的文件格式。最好的方法可能只是迭代结果并使用php“手动”构建文件。 phpMyAdmin也可以导出xml。真的很简单......

$rows = '<? xml... ?>';
$query = mysql_query(); 
while($row = mysql_fetch_assoc($query)){
  $rows .= "<row>\n";
  foreach($row as $tag=>$val){
    $rows.= "<$tag>$val</$tag>\n";
  }
  $rows .= "</row>\n";
}

file_put_contents('sql.xml',$rows);

但你很可能正在尝试做一些只需要时间来处理的事情,并且php不是最好的工具,即mysqldump