Как прочитать XML «локальный файл» и анализ в Touch Cocoa - PullRequest
2 голосов
/ 05 июля 2011

Я могу прочитать Удаленный XML со следующим кодом:

-(id)loadXMLByURL:(NSString *)urlString
{
    tweets = [[NSMutableArray alloc] init];
    NSString *filePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:urlString];
    NSURL *url = [NSURL URLWithString:urlString];
    parser = [[NSXMLParser alloc] initWithContentsOfURL:url];       

    parser.delegate = self;
    [parser parse];
    return self;
}

И я вызываю вышеупомянутую функцию здесь:

- (void)viewDidLoad
{
    xmlcont = [[XMLController alloc] loadXMLByURL:@"http://192.168.10.12:81/book.xml"];

    for (Tweet *t in [xmlcont tweets]) {
        NSLog(@"At date: %@ you wrote: %@",[t createdAt], [t content]);
    }

    [super viewDidLoad];
}

На самом деле я 'Я хотел бы сделать что-то вроде этого, только одно отличие.Я хочу прочитать XML локальный файл , который находится в моей папке ресурсов в моем проекте в XCode, но определенно я не знаю, как это сделать!Я схожу с ума от этого!Я просто могу читать XML удаленный файл (http: //..../file.xml).

1 Ответ

6 голосов
/ 05 июля 2011

Скажем, в папке ресурсов есть file.xml, который вы хотите проанализировать.Вы можете получить путь к файлу следующим образом:

NSString * filePath = [[NSBundle mainBundle] pathForResource:@"file" ofType:@"xml"];

Есть два способа использовать его, чтобы получить то, что вы хотите.

Используя URL файла

NSURL * fileURL = [NSURL fileURLWithPath:filePath];
NSXMLParser * parser = [[NSXMLParser alloc] initWithContentsOfURL:fileURL];
    ....

Использование данных файла

NSData * fileData = [NSData dataWithContentsOfFile:filePath];
NSXMLParser * parser = [[NSXMLParser alloc] initWithData:fileData];
    ....
...