0

こんにちは、NSXML パーサーを使用して Web URL から XML ファイルを解析するのは簡単ですが、ローカルの XML ファイルを解析するのは少し難しいと感じました。

これを考慮してください、私のparser.mにはメソッドがあります

-(void)parseRssFeed:(NSString *)url withDelegate:(id)aDelegate {
[self setDelegate:aDelegate];

responseData = [[NSMutableData data] retain];
NSURL *baseURL = [[NSURL URLWithString:url] retain];


NSURLRequest *request = [NSURLRequest requestWithURL:baseURL];

[[[NSURLConnection alloc] initWithRequest:request delegate:self] autorelease];}

そして、このメソッドを使用して、viewcontroller.m の 1 つで RSS フィードを呼び出しました。

- (void)loadData {
if (items == nil) {
    [activityIndicator startAnimating];

    Parser *rssParser = [[Parser alloc] init];
    [rssParser parseRssFeed:@"http://--some RssFeed url---" withDelegate:self];

    [rssParser release];

} else {
    [self.tableView reloadData];
}
}

そして今、いくつかの Web Rss フィード URL の代わりに、ローカルの XML ファイルをロードする必要があります。ローカル XML ファイルの NSBundlePath リソースを変更して含める必要があるこのコーディングを手伝ってください。

前もって感謝します!!!

4

1 に答える 1

4

NSURLConnectionローカル ファイルの場合、データを取得する必要はありません。以下は、「local.xml」という名前のローカル XML ファイルをNSDataオブジェクトに取得します。

NSString *path = [[NSBundle mainBundle] pathForResource:@"local" ofType:@"xml"];
NSData *data = [[NSData alloc] initWithContentsOfFile:path];

この時点で、リモート xml ファイルからデータを取得したら、使用するのと同じ解析コードを呼び出すことができるはずです。

于 2012-10-25T06:08:20.100 に答える