如何在Xcode中解析本地xml文件而不是Web xml?

时间:2012-10-25 05:38:24

标签: objective-c xcode nsxmlparser

我很容易使用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资源。

提前致谢!!!

1 个答案:

答案 0 :(得分:4)

对于本地文件,您不需要NSURLConnection来获取数据。以下内容将在NSData对象中获取名为“local.xml”的本地XML文件:

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

此时,您应该能够在从远程xml文件获取数据后调用相同的解析代码。