首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于编辑大型XML文件的QueryPath还是DOMDocument?

用于编辑大型XML文件的QueryPath还是DOMDocument?
EN

Stack Overflow用户
提问于 2012-05-16 21:06:30
回答 1查看 593关注 0票数 0

我正在尝试使用PHP编辑一个大的XML文件(从Excel文件中提取出来),我想知道哪个(关于性能)是最好的: QueryPath还是PHP的DOMDocument?

该文件至少有8MB,包含大约400k行(格式化后)。

感谢您的反馈

EN

Stack Overflow用户

回答已采纳

发布于 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.

  • Modification: manually.

  • QueryPath 2.x is slow

  • QueryPath 3.x is
    • DOMDocument is
    • XPath是最快的...但那是XPath

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10619204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档