Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP创建大型xml文件的最佳方法是什么?_Php_Mysql_Xml - Fatal编程技术网

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

使用PHP创建大型xml文件的最佳方法是什么?,php,mysql,xml,Php,Mysql,Xml,我尝试用php创建一个xml文件 由于该文件是mySQL数据库的摘录,记录集可能包含约90000行。 因此生成xml文件的速度很慢,大约为50秒 我不想进行转储,只想创建一个文件发送到Flashbuilder以创建数据提供程序 我尝试使用以下几个过程: DOMDocument XmlWriter SimpleXMLElement 但使用这些方法,创建文件的时间是相同的 我在服务器端用这个指令做了另一个测试:ini_集('memory_limit','-1') 您知道另一种方法吗,即过快地编写大

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

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

我不想进行转储,只想创建一个文件发送到Flashbuilder以创建数据提供程序

我尝试使用以下几个过程:

DOMDocument
XmlWriter
SimpleXMLElement
但使用这些方法,创建文件的时间是相同的

我在服务器端用这个指令做了另一个测试:
ini_集('memory_limit','-1')

您知道另一种方法吗,即过快地编写大型xml文件


谢谢您的帮助。

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


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


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);
$rows='';
$query=mysql_query();
while($row=mysql\u fetch\u assoc($query)){
$rows.=“\n”;
foreach($tag=>$val的行){
$rows.=“$val\n”;
}
$rows.=“\n”;
}
文件内容('sql.xml',$rows);

但是你很可能会尝试做一些需要时间来处理的事情,而php并不是最好的工具,也就是说,
mysqldump

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);
$rows='';
$query=mysql_query();
while($row=mysql\u fetch\u assoc($query)){
$rows.=“\n”;
foreach($tag=>$val的行){
$rows.=“$val\n”;
}
$rows.=“\n”;
}
文件内容('sql.xml',$rows);

但是你很可能会尝试做一些需要花时间来处理的事情,而php并不是最好的工具,例如,
mysqldump

+1 nice-总是使用正确的工具来完成工作。。。。但是你知道OP会抱怨它不是“他们的格式”+1尼斯-始终使用正确的工具进行作业。。。。但是你知道OP会抱怨它不是“他们的格式”!!!谢谢,但我的目标不是转储,而是只在flex datagrid上显示数据。然后使用类似于上面的方法,并将其吐出适当的名称空间:tag。谢谢,但我的目标不是转储,而是只在flex datagrid上显示数据。然后使用类似于上面的方法,并让它吐出适当的名称空间:tag。