试试这个思路可以么? http://phpedia.net/1v2knpye
用dom就必须把所有的数据全部放到内存里面
我觉得直接用字符串拼xml会很快,而且拼好一块就append到文件里面,应该会快很多
为何不考虑json格式呢?解析存储传输都比xml格式的有优势。
而且php支持json和xml格式的互相转换。
但100w+的数据没有测试过转换的耗费多少。
这个需求中,写入一个XML文件并不是必须的。
值得考虑用流水线式的模型解决问题。上传数据不需要非得等XML全生成完了才开始,而是只需生成一点XML就上传一点。
gzip也是一个纯粹流式的压缩(进来一点就出去一点),所以gzip也可以简单插入到这个操作流之中。
无论如何提交,100W都很考验网络连接的质量和对方API平台的处理能力,请首先尽可能找到分批提交的办法。
不是有xmlreader 和 xmlwriter 吗?可以不断读取Xml文档中的声明,节点,且不会一次加载.