我正在解析一个大约12MB的XML文件。我需要遍历整个文件并将必要的内容存储在MySQL数据库中。
我将XML文件转换为数组,然后解析该数组并存储值。
当XML文件很小的时候,这样做是没有问题的,但是当我运行12MB的文件时,它就停止工作了。
我尝试了多个将XML转换为数组的函数,在线上找到的都不起作用。
这是我使用两个不同的在线XML转换为数组功能时遇到的常见错误:
我将XML文件转换为数组,然后解析该数组并存储值。
当XML文件很小的时候,这样做是没有问题的,但是当我运行12MB的文件时,它就停止工作了。
我尝试了多个将XML转换为数组的函数,在线上找到的都不起作用。
这是我使用两个不同的在线XML转换为数组功能时遇到的常见错误:
Fatal error: [] operator not supported for strings
我正在使用SimpleXML,是否有更好的方法来解决这个问题?除了SimpleXML之外,还有哪些库可以处理大型XML文件并且功能强大?
我现在是这样做的:
$z = new XMLReader;
$z->open('feedfetch.xml');
$doc = new DOMDocument;
while ($z->read() && $z->name !== 'collection');
while ($z->name === 'collection')
{
$node = simplexml_import_dom($doc->importNode($z->expand(), true));
var_dump($node[0]);
exit;
$z->next('collection');
}
您看到我的var_dump了吗?它会输出一堆XML对象,但我不知道如何获取实际包含数据的节点?