【发布时间】:2010-11-16 22:16:45
【问题描述】:
我正在解析一个大约 12mb 大的 XML 文件。我需要解析整个文件并将我认为需要的内容存储在 MySQL 数据库中。
我正在将 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 转储了吗?它回显了一堆 XML 对象,但我不知道如何使用数据到达实际节点?
【问题讨论】: