我需要从远程URL解析xml字符串,我想使用AFNetworking。这是我的代码:
NSURL *url2 = [NSURL URLWithString:@"REMOTEXMLURL"];
NSURLRequest *request2 = [NSURLRequest requestWithURL:url2];
AFXMLRequestOperation *operation2 = [AFXMLRequestOperation XMLParserRequestOperationWithRequest:request2
success:^(NSURLRequest *request2, NSHTTPURLResponse *response2, NSXMLParser *XMLParser) {
NSLog(@"TESTING PARSING");
[XMLParser setDelegate:self];
[XMLParser parse];
} failure:^(NSURLRequest *request2, NSHTTPURLResponse *response2, NSError *error2, NSXMLParser *XMLParser) {
NSLog(@"%@", [error2 userInfo]);
}];
[operation2 start];
这是对的吗?现在我有* XMLParser,我可以避免使用NSXMLParser委托方法,例如:
-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict
-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
或者我被限制使用它?换句话说,使用AFNetworking和AFXMLRequestOperation初始化的* XMLParser对象必须传递给委托方法,还是可以用其他方式解析它(如AFJSONRequestOperation,进入AFNetworking操作)?谢谢!
答案 0 :(得分:2)
NSXMLParser需要一个委托。如果你想使用NSXMLParser,并希望你的类成为它的委托,你需要实现委托方法来理解你的XML。
XML解析器不知道XML的含义是什么,它只是向您读取;你必须自己理解。