Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何使initWithContentsOfURL等待动态生成的xml页面?_Iphone_Objective C_Xml_Nsxmlparser_Initwithcontentsofurl - Fatal编程技术网

Iphone 如何使initWithContentsOfURL等待动态生成的xml页面?

Iphone 如何使initWithContentsOfURL等待动态生成的xml页面?,iphone,objective-c,xml,nsxmlparser,initwithcontentsofurl,Iphone,Objective C,Xml,Nsxmlparser,Initwithcontentsofurl,我尝试将查询作为URL的一部分发送以获取XML文件,然后尝试使用NSXMLParser和initWithContentsOfURL解析XML文件。但是,解析器无法解析该文件。我用同一个文件测试了解析器,但这次该文件保存在服务器上(没有生成),工作正常,所以我知道解析器没有问题 我开始认为它不会解析它,因为我需要在尝试解析它之前加载文件,或者给initWithContentsOfURL加载内容的时间。因此,我尝试将这些内容放在一个NSString和一个NSData中,并使用一个sleep函数和一个

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

我开始认为它不会解析它,因为我需要在尝试解析它之前加载文件,或者给initWithContentsOfURL加载内容的时间。因此,我尝试将这些内容放在一个NSString和一个NSData中,并使用一个sleep函数和一个block,但这也不起作用

解决这个问题的最好办法是什么

下面是一些代码:

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];

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

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


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


是的,我们使用NSXMLParserDelegate,但我认为它没有办法让initWithContentsOFURL等待页面加载是的,我们使用NSXMLParserDelegate,但我认为它没有办法让initWithContentsOFURL等待页面加载
//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];