我可以使用以下代码阅读远程 XML:
-(id)loadXMLByURL:(NSString *)urlString
{
tweets = [[NSMutableArray alloc] init];
NSString *filePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:urlString];
NSURL *url = [NSURL URLWithString:urlString];
parser = [[NSXMLParser alloc] initWithContentsOfURL:url];
parser.delegate = self;
[parser parse];
return self;
}
我在这里调用上述功能:
- (void)viewDidLoad
{
xmlcont = [[XMLController alloc] loadXMLByURL:@"http://192.168.10.12:81/book.xml"];
for (Tweet *t in [xmlcont tweets]) {
NSLog(@"At date: %@ you wrote: %@",[t createdAt], [t content]);
}
[super viewDidLoad];
}
其实我想做这样的事,差别不大。我想在我的XCode项目中读取我的资源文件夹中的XML 本地文件,但是我不知道如何做到这一点!我对此感到疯狂!我只是可以读取XML远程文件(http://..../file.xml)。
答案 0 :(得分:6)
假设您要解析的资源文件夹中有file.xml
。您可以像这样获取文件路径,
NSString * filePath = [[NSBundle mainBundle] pathForResource:@"file" ofType:@"xml"];
有两种方法可以用它来获得你想要的东西。
使用文件网址
NSURL * fileURL = [NSURL fileURLWithPath:filePath];
NSXMLParser * parser = [[NSXMLParser alloc] initWithContentsOfURL:fileURL];
....
使用文件数据
NSData * fileData = [NSData dataWithContentsOfFile:filePath];
NSXMLParser * parser = [[NSXMLParser alloc] initWithData:fileData];
....