如何比较和找到可可中两个XML文件之间的差异?

时间:2012-11-28 17:38:18

标签: objective-c xml cocoa xml-parsing compare

对于使用40mb xml文件,这是一个两部分问题。

•在后台持续运行的程序存储在内存中的合理大小是什么? •如何查找XML文件中的更改内容。

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

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

我是新手,所以任何帮助都会受到赞赏!

2 个答案:

答案 0 :(得分:0)

比较两个文件:

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

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

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

其他部分:

对于后台流程考虑的大小,我不这么认为,对于重要的应用程序而言。您可以将它们保存到临时文件中。即使safari使用130+ MB,您也可以轻松查看活动监视器。

答案 1 :(得分:0)

NSXMLParser最终成为这个

最有用的