我想發送一個查詢作爲URL的一部分來獲取XML文件,然後嘗試使用NSXMLParser和initWithContentsOfURL解析XML文件。但解析器無法解析文件。我用相同的文件測試瞭解析器,但是這次這個文件被保存在服務器上(它並沒有被生成),它工作得很好,所以我知道它不是解析器的問題。如何讓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];
讓我知道如果您有更多問題,或者如果你想看到更多的代碼。 謝謝!
是的,我們使用NSXMLParserDelegate,但我不認爲它對於一個方式initWithContentsOFURL等待加載頁面 – MariaH 2011-04-23 19:02:48