如何从文件列表制作 NSXMLDocument

How to make NSXMLDocument from filelist

我有一个像 /Test/Demo1/Demo2/Demo3/demo.mp4 这样的文件列表,我想在 Objective-C 中创建 XML 文档。我有一个代码使 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.

谢谢

Tree-Based XML Programming Guide中有一些示例。 检查 "Creating a Document Object From Existing XML" 之后的 "Creating a New XML Document" 以及显示如何将其转换为 NSData(可以写入文件或转换为 NSString)的 "Writing Out an XML Document"。

再来一个article with examples.

如果您想创建正式符合标准的 XML 文件,则需要 XML API。

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

构建文件和目录树后,您可以使用像 Depth-first search 这样的算法遍历它,并在构建过程中构建您的 NSXMLDocument 或 NSMutableString。