0

这是一个由两部分组成的问题,用于处理 40mb xml 文件。

• 对于在后台连续运行的程序,存储在内存中的合理大小是多少?
• 如何查找 XML 文件中的更改内容。

所以在第一次读取时,XML 被加载到 NSData,然后上传到服务器。

现在,与其每次更改时都上传 40mb 的 XML,我更愿意上传仅包含已更改内容的“delta”文件。该程序将监视文件的更改,并在修改时激活。从我所见,我需要解析旧版本的 xml 文件并解析修改后的 xml 文件,然后比较它们?每次修改文件时都这样在内存中存储80mb是不合理的吗?现在我假设这必须使用 DOM 解析器来完成,因为我看不出如何将这样的两个文件与 SAX 解析器进行比较,因为它只存储了部分文件?

我是这方面的新手,所以任何帮助将不胜感激!

4

2 回答 2

0

比较两个文件:

有很多方法可以做,(由于要考虑文件,我可能不正确):

sdiff file1.xml file2.xml一个 unix 命令 您可以将此命令与苹果脚本一起使用。

-[NSFileManager contentsEqualAtPath:andPath:] 此方法检查给定路径下的两个文件是否为同一个文件,然后比较它们的大小,最后比较它们的内容。

对于其他部分:

后台进程考虑什么大小,我不这么认为,对于应用程序来说很重要。您可以将这些保存到临时文件中。甚至 safari 也使用 130+ MB,因为您可以通过活动监视器轻松检查。

于 2012-11-29T05:26:16.260 回答
0

NSXMLParser 最终成为最有用的

于 2013-01-09T05:50:06.687 回答