我正在尝试使用PHP编辑一个大的XML文件(从Excel文件中提取出来),我想知道哪个(关于性能)是最好的: QueryPath还是PHP的DOMDocument?
该文件至少有8MB,包含大约400k行(格式化后)。
感谢您的反馈
发布于 2012-05-23 08:52:52
QueryPath基本上只是DOMDocument的一个包装器。它对一个空的DOMDocument对象增加的开销相对较小。对于访问和编写操作--比如attr()、append()等,应该没有什么值得注意的性能差异。
但接下来就到了一个大问题:找到东西。
传统上,遍历DOMDocument是通过“遍历树”或使用DOMNode->getElementsByTagname()来完成的。如果您愿意编写代码,这会执行得相对较好。
在这种大小的文档上,使用QueryPath 2.x查询会有点慢,除非您使用非常特定的选择器(例如':root>foo>bar>baz')。
然而,即将进入Alpha1的QueryPath 3.x在查询大型对象时速度要快很多很多倍。做qp('foo')和做XPath一样快...这就把我带到了最后一个选择。
还有内置的XPath处理器,它也带有PHP支持。如果您正在处理大型XML文档,这可能会给您带来更好的性能,因为它是以C速度而不是PHP速度执行的。但是您必须编写XPath表达式,这是一种痛苦。
所以底线是:
遍历: do.
https://stackoverflow.com/questions/10619204
复制相似问题