Если вы получаете ошибку HTTP, скорее всего, с вашим соединением что-то не так.Требуется ли для вашего соединения аутентификация?Если это так, вам нужно реализовать:
- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
{
NSURLCredential *myCreds = [[NSURLCredential alloc] initWithUser:@"**USERNAME**" password:@"**PASSWORD**" persistence:NO];
[challenge.sender useCredential:myCreds forAuthenticationChallenge:challenge];
[myCreds release];
}
Что касается фактического извлечения данных, как вам потребуется использовать NSXML Parser, вы можете увидеть подробности для этого здесь: http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSXMLParser_Class/Reference/Reference.html. Есть только3 метода, которые вы ДОЛЖНЫ реализовать, остальные - просто бонус.Три из них:
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict;
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string;
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName;
В идеале вы знаете структуру XML-файла, который вы анализируете, поскольку вам потребуется идентифицировать имя элемента / атрибута в приведенных выше функциях.Затем вы можете хранить ваши данные в массиве, или как вам удобно.
У вас также есть возможность использовать сторонний парсер, здесь есть очень хорошее объяснение / сравнение различных доступных парсеров: http://www.raywenderlich.com/553/how-to-chose-the-best-xml-parser-for-your-iphone-project
Надеюсь, это поможет!