Как сделать NSXMLDocument из списка файлов - PullRequest
0 голосов
/ 15 мая 2018

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

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

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

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

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

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

...