2012-10-25 48 views
0

嗨我很容易使用NSXML Parser解析來自Web URL的XML文件,但是我發現解析本地XML文件時有點困難。如何在Xcode中解析本地xml文件而不是Web 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之一的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]; 
} 
} 

現在而不是一些網絡Rss飼料網址,我不得不加載我的本地XML文件。 請幫我在這個編碼,我必須改變和包括我的本地XML文件NSBundlePath資源。

在此先感謝!

回答

4

對於本地文件,您不需要NSURLConnection即可獲取數據。下面將得到一個名爲「local.xml中」本地XML文件到NSData對象:

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

在這一點上,你應該能夠調用您使用相同的解析代碼一旦你從遠程XML數據文件。

+0

謝謝@rmaddy !!!我知道了... – Sudhan

+0

hii rmaddy現在我可以從我的資源目錄加載本地XML文件,但我怎樣才能將加載的內容傳遞給我的parser.m類?即通過使用NSLog(@「%@」,[NSString stringWithUTF8String:[data bytes]]);我可以看到加載的XML文件,但在這裏我需要將它傳遞給parser.m。對不起,我對這個新東西可以幫助我嗎? – Sudhan