【发布时间】:2012-11-10 03:39:44
【问题描述】:
这里完全缺乏合适的解决方案让我发疯。
一位客户给了我一个 14MB 大小的 XML 文件,在以后的请求中可能会更大。我需要一个可以定期将其数据加载到 MySQL 表中的脚本。服务器运行的是 MySQL 5.0.96,所以我不相信 LOAD XML 命令对我可用。
我尝试使用 PHP DOM 库来解析 XML 文件,但 Apache 返回 500 内部服务器错误。我认为这是内存不足,因为我可以注释掉加载 XML 文件的 PHP 代码并且脚本运行顺利(没有数据)。服务器上的内存限制已经是 128MB。
我也尝试过 XMLReader,它似乎做同样的事情。有什么建议吗?
【问题讨论】:
-
是的,xmlreader 可能是一个不错的选择,但您的问题到底是什么?
-
当我尝试使用 Dom Lib 或 XMLReader 加载此 XML 文件时,由于内存限制,服务器返回 500 内部服务器错误。有没有更好的方法使用 PHP 将 XML 放入表中?
-
你试过python了吗?使用 python 做这样的事情很容易
-
我们客户使用的平台是PHP。我无法建议我们此时切换到 python。
-
XMLReader 作为迭代器工作,因此与 dom 或 simplexml 解析器不同,它不必将完整的 xml 文件加载到内存中。您能否展示一些 xml 文件的示例,以便我们了解如何生成 xml 元素 -> sql 行?
标签: php mysql xml xml-parsing