如何从文件列表

时间:2018-05-15 06:36:54

标签: objective-c cocoa nsxml nsxmldocument nsxmlelement

我有一个像 /Test/Demo1/Demo2/Demo3/demo.mp4 这样的文件列表,并希望在Objective-C中创建XML文档。我有一个make NSMutableDictionary的代码:

-(NSMutableDictionary *)addFile:(NSString *)path toTree:(NSMutableDictionary *)tree {
NSMutableDictionary *node = tree;

NSArray *components = [path componentsSeparatedByString:@"/"];

for (NSUInteger i = 0; i < [components count] - 1; i++) {
    NSString *key = components[i];
    if (node[key] == nil) {
        node[key] = [NSMutableDictionary dictionary];
    }
    node = node[key];
}

NSString *name = [components lastObject];
if ([name length] > 0) {
    node[name] = [NSMutableDictionary dictionary];
    node = node[name];
}
return node;

}

但我没有好结果。建议我如何将文件列表转换为NSMutableArray或NSXMLDocument。

谢谢

1 个答案:

答案 0 :(得分:0)

Tree-Based XML Programming Guide中有一些例子。 检查&#34;创建新的XML文档&#34;之后&#34;从现有XML创建文档对象&#34;以及#34;写出XML文档&#34;它显示了如何将其转换为NSData(可以写入文件或转换为NSString)。

又一个article with examples

如果要创建符合标准的标准XML文件,则需要此XML API。

或者,您可以使用NSMutableString手动构建字符串。 One example of that from the internet使用与您不同的结构,但您应该能够理解。

在构建文件和目录树之后,可以使用Depth-first search之类的算法遍历它,并沿途构建NSXMLDocument或NSMutableString。