我很容易使用NSXML Parser从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中调用RSS Feed作为
- (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];
}
}
现在,我必须加载我的本地XML文件,而不是一些Web Rss Feed Url。 请帮我完成这个编码,我必须更改并为我的本地XML文件包含NSBundlePath资源。
提前致谢!!!
答案 0 :(得分:4)
对于本地文件,您不需要NSURLConnection
来获取数据。以下内容将在NSData
对象中获取名为“local.xml”的本地XML文件:
NSString *path = [[NSBundle mainBundle] pathForResource:@"local" ofType:@"xml"];
NSData *data = [[NSData alloc] initWithContentsOfFile:path];
此时,您应该能够在从远程xml文件获取数据后调用相同的解析代码。