0

嗨,我很容易使用 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 文件,而不是一些网络 Rss Feed Url。请帮助我进行此编码,我必须更改并包含本地 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 回答