包含包含字典的数组的文件

Posted

技术标签:

【中文标题】包含包含字典的数组的文件【英文标题】:File containing array containing dictionary 【发布时间】:2013-01-01 23:55:37 【问题描述】:

我有一个包含字典数组的文件。如何将其读回以将其用作在我的代码中包含这些字典的常规数组?

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
    <dict>
        <key>elem1</key>
        <string>Hello world</string>
        <key>elem2</key>
        <string>This is some string</string>
    </dict>
</array>
</plist>

【问题讨论】:

你的意思是+ [NSArray arrayWithContentsOfFile:]方法吗? 是的,完全一样 :) thx! 【参考方案1】:

这实际上是相当简单的。感谢H2CO3 指向它。 只需使用 [NSArray arrayWithContentsOfFile:] 方法。 所以这就是我所拥有的:

// Path to my file
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString  *filePath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"my_file.out"];

// Get the array contained in the file
NSMutableArray *myArray = [NSMutableArray arrayWithContentsOfFile:filePath];

// Read the array's content
int numOfelems = [myArray count];
for (int i = 0; i < numOfelems; i++) 
    NSLog(@"Object at index %i: %@", i, [myArray objectAtIndex:i]);

【讨论】:

【参考方案2】:

这很简单:可以在一行中解析属性列表...

NSArray *array = [NSArray arrayWithContentsOfFile:pathToPLIST];

【讨论】:

以上是关于包含包含字典的数组的文件的主要内容,如果未能解决你的问题,请参考以下文章

如何解析 HAR 文件以提取文本内容?

包含包含字典的数组的字典?

使用 NScanner 将 CSV 文件解析为字典数组 [重复]

序列化包含字典成员的类

将CSV文件转换为Python字典,数组和二进制文件

如何使用包含文本文件的文件夹返回字典?