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