2

我正在尝试将查询作为 URL 的一部分发送以获取 XML 文件,然后尝试使用 NSXMLParser 和 initWithContentsOfURL 解析 XML 文件。但是解析器无法解析文件。我用相同的文件测试了解析器,但是这次文件保存在服务器上(它没有被生成)并且它工作得很好,所以我知道这不是解析器的问题。

我开始认为它不会解析它,因为我需要在尝试解析它之前加载文件,或者给 initWithContentsOfURL 时间来加载内容。因此,我尝试将这些内容放在 NSString 和 NSData 中,并使用睡眠功能以及使用块,但这也不起作用。

解决这个问题的最佳方法是什么?

这是一些代码:

NSString *surl = [NSString stringWithFormat:@"http://lxsrv7.oru.edu/~maria_hernandez/query.xml"];
url = [NSURL URLWithString:surl];
NSString *curl = [[NSString alloc] initWithContentsOfURL:url];

NSLog(@"URL: %@", surl);
NSLog(@"URL Content: %@", curl);

SXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:receivedData];

//Other stuff we have tried:
NSURLRequest *theRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:surl] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
NSURLResponse =  nil;
NSError = nil;
receivedData = [NSURLConnection sendSynchronousRequest: theRequest returningResponse: &theResponse error: &error];

如果您有更多问题或希望查看更多代码,请告诉我。谢谢!

4

1 回答 1

0

您是否尝试过为实现 NSXMLParserDelegate 的 NSXMLParse 设置一个委托,该委托具有用于解析文档的事件

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSXMLParser_Class/Reference/Reference.html

于 2011-04-23T18:41:26.847 回答