XMLWriter和SimpleXML,哪个更快?

3

我需要加载整个XML文件,添加新的内容行,然后保存它。但是我想知道哪种方法更快... XMLWriter 还是 SimpleXML?哦,对了,这主要是针对大型XML文件,超过10MB。

谢谢!


编写一个测试工具并进行测量。 - Tim Lloyd
你是否要在(大致)相同的位置重复添加元素/数据到同一个XML文档中? - VolkerK
取决于用户。这是一个可以添加链接和目录的系统。每个用户都有自己的XML文件。 - Icid
2个回答

6
根据PHP手册,XMLWriter提供了一种非缓存、只向前生成包含XML数据的流或文件的方式。

它不能用于加载文档并对其进行修改,因此它不是一个选项,你只能使用SimpleXML。


感谢您的技术翻译! - Icid
你可以结合使用XMLReader和XMLWriter,但我怀疑在php中它会更快。 - VolkerK

0

我知道这是一个非常老的问题,但在研究每种方法的优势时,我偶然发现了这个性能测试: https://p0l0.binware.org/2011/07/04/simplexml-vs-xmlwriter-vs-dom/

总结一下:
XMLWriter是三种方法中最快的,但使用内存比SimpleXML更多。

一个小文件-大约2mb-在XMLWriter和SimpleXML之间没有显示出很大的差异。XML文件越大,两者之间的速度差异就越大,XMLWriter明显更快。

DOM是资源最重,速度最慢的,根本不应该使用。


虽然该链接可能回答了问题,但最好在此处包括答案的基本部分并提供参考链接。如果链接页面更改,仅有链接的答案可能会变得无效。- 来自审核 - tomerpacific
@tomerpacific 写了一份扩展摘要,列出了性能测试的结果。 - photogenic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接