Как сделать NSXMLDocument из списка файлов

У меня есть список файлов, например /Test/Demo1/Demo2/Demo3/demo.mp4, и я хочу создать XML-документ в Objective-C. У меня есть код для сделать 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 ответ

Решение

Есть несколько примеров в Руководстве по программированию на основе дерева XML. Установите флажок "Создание нового документа XML" после "Создание объекта документа из существующего XML", а также "Выписывание документа XML", в котором показано, как преобразовать его в NSData (который можно записать в файл или преобразовать в NSString).

Еще одна статья с примерами.

Этот XML API необходим, если вы хотите создать формально совместимые стандартные XML-файлы.

В качестве альтернативы вы можете просто вручную построить строку, используя NSMutableString. Один пример этого из Интернета работает с другой структурой, чем у вас, но вы должны быть в состоянии понять идею.

После того как вы построите дерево файлов и каталогов, вы можете пройти по нему с помощью алгоритма, подобного поиску в глубину, и по пути построить NSXMLDocument или NSMutableString.

Другие вопросы по тегам