0
我试图从一个网站(如“http://www.kick-girl.com/?cat=3”)如何获得一个网站的HTML和用的NSXMLParser
我可以使用易于获取XML解析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
}
我该如何解决这个问题?