对于使用40mb xml文件,这是一个两部分问题。
•在后台持续运行的程序存储在内存中的合理大小是什么? •如何查找XML文件中的更改内容。
所以在第一次读取时,XML被加载到NSData中,然后上传到服务器。
现在,我不想每次更改时上传40mb的XML,而是上传一个只包含已更改内容的“delta”文件。程序将监视文件以进行更改,并在文件被修改时激活。从我所看到的,我需要解析旧版本的xml文件并解析修改后的xml文件,然后比较它们?每次修改文件时,将80mb存储在内存中是不合理的吗?现在我假设必须使用DOM解析器,因为我无法看到如何将两个文件与SAX解析器进行比较,因为它只存储了部分文件?
我是新手,所以任何帮助都会受到赞赏!
答案 0 :(得分:0)
比较两个文件:
有很多方法可以做(因为要考虑文件,我可能不正确):
sdiff file1.xml file2.xml
一个unix命令
您可以将此命令与apple脚本一起使用。
-[NSFileManager contentsEqualAtPath:andPath:]
此方法检查给定路径上的两个文件是否是同一个文件,然后比较它们的大小,最后比较它们的内容。
其他部分:
对于后台流程考虑的大小,我不这么认为,对于重要的应用程序而言。您可以将它们保存到临时文件中。即使safari使用130+ MB,您也可以轻松查看活动监视器。
答案 1 :(得分:0)
NSXMLParser最终成为这个
最有用的