2012-10-25 18 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