Как сделать 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.