objective-c - 在 Objective-C 中比较两个 xml 文件

标签 objective-c file compare

我的文件系统 (iPhone) 中有两个 xml 文件(a.xml 和 b.xml)。现在我想知道这些文件是否包含完全相同的数据。大多数时候,这种比较是正确的,因为 b.xml 是 copyItemAtPath: 操作的结果。除非它被更新的信息覆盖。 比较这些文件的最有效方法是什么?

  1. 我可以将文件内容作为字符串读取,然后比较字符串
  2. 我可以解析文件并比较一些关键元素
  3. 我想有一个非常直截了当的方法,不需要解释文件,但允许我在较低的层次上进行比较。

非常欢迎任何建议。

提前致谢

夏克林

更新:

我最终这样做了:

oldData = [NSData dataWithContentsOfFile:PathToAXML];
newData = [NSData dataWithContentsOfFile:PathToBXML];

然后将其与:

[newData isEqualToData:oldData];

问题仍然是:它是否比:

oldData = [NSString dataWithContentsOfFile:PathToAXML];
newData = [NSString dataWithContentsOfFile:PathToBXML];

[newData isEqualToString:oldData];

最佳答案

您还可以使用:

NSFileManager *filemgr = [NSFileManager defaultManager];

if ([filemgr contentsEqualAtPath:PathToAXML andPath:PathToBXML])
  NSLog (@"File contents match");
else
  NSLog (@"File contents do not match");

关于objective-c - 在 Objective-C 中比较两个 xml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1074601/

相关文章:

ios - 如何从 json 数组访问值

php - 如何使用javascript检查是否选择了文件?

c 检查两个字符串是否有相同的字符

ios - 更改 UITableView 部分标题的字体大小

ios - 在不删除粗体格式的情况下更改 NSMutableAttributedString 的字体大小。

ios - 如何为 UITableView 中制作的每个单元格动态设置自定义 UITableViewCell 的高度?

Java - 奇怪的目录问题?

c++ - C++ 直接从文件读取数据到RAM

php - MYSQL 按拆分数组分组

c - 如何使用C程序检测文件中的特定字符串