Я пытаюсь разобрать XML с веб-сайта (например, «http://www.kick-girl.com/?cat=3»)Как получить HTML веб-сайта и разобрать его с NSXMLParser
Я могу легко получить XML с помощью:
NSURL *url = [NSURL URLWithString:@"http://www.kick-girl.com/?cat=3"];
NSLog(@"%@", [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil]);
Однако, когда я пытаюсь использовать NSXMLParser, он просто не работает. Я уже опробовал преобразование строки в данные
NSString *s = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
NSData *d = [s dataUsingEncoding:NSUTF8Encoding];
NSXMLParser *xmlparser = [NSXMLParser alloc] initWithData:d];
xmlparser.delegate = self;
[xmlparser parse];
И все еще не работает. Методы NSXMLParserDelegate не вызываются. , например.
- (void)parser:didStartElement:namespaceURI:qualifiedName:attributes:
Я также попытался с помощью AFnetworking, чтобы увидеть, если это поможет
NSURLRequest *request = [NSURLRequest requestWithURL:url];
AFHTTPRequestOperation *requestOp = [[AFHTTPRequestOperation alloc] initWithRequest:request];
requestOp.responseSerializer = [AFXMLParserResponseSerializer serializer];
[requestOp.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/xml", @"text/xml", @"text/html", nil]];
[requestOp setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
NSXMLParser *xmlparser = responseObject;
xmlparser.delegate = self;
[xmlparser parse]; //Delegate methods are not called for some reason...
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"OOPS: %@", error);
}];
[requestOp start];
Я не понимаю, в чем проблема.
Я получаю синтаксическую ошибку из -parser: parserErrorOccurred:
Error Domain=NSXMLParserErrorDomain Code=65 "The operation couldn’t be completed. (NSXMLParserErrorDomain error 65.)" UserInfo=0x8da6ce0 {NSXMLParserErrorLineNumber=2, NSXMLParserErrorColumn=17, NSXMLParserErrorMessage=attributes construct error
}
Как это исправить?