在目标c中解析XML(从Web服务)到Nsdictionary



i确实同步邮政请求并获取XML。现在,我需要解析并将其保存在nsdictionary中。我尝试了网络上的许多解决方案。但是没有什么对我有用的。这是我的代码:

//Response data object
    NSData *returnData = [[NSData alloc]init];
    NSString *param = @"{params}";
    NSString *postString = [NSString stringWithFormat:@"request=%@",param];
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"url"]];
    [request setHTTPMethod:@"POST"];
    [request setValue:[NSString stringWithFormat:@"%lu", (unsigned long)[postString length]] forHTTPHeaderField:@"Content-length"];
    [request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]];
    //Send the Request
    returnData = [NSURLConnection sendSynchronousRequest: request returningResponse: nil error: nil];
    //Get the Result of Request
    NSString *response = [[NSString alloc] initWithBytes:[returnData bytes] length:[returnData length] encoding:NSUTF8StringEncoding];
    bool debug = YES;
    NSDictionary *xmlDoc = [NSDictionary dictionaryWithXMLFile:response];
    if (debug && response) {
        NSLog(@"Response >>>> %@", xmlDoc);
    }

我使用了此XML读取器。这是我在nslog中得到的结果:

2016-11-28 18:04:26.970 SyncPostReq[8667:305923] Response >>>> (null)
NSURL *url = [NSURL URLWithString:@"url"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];

NSURLSession *session = [NSURLSession sharedSession];
[[session dataTaskWithURL:url
        completionHandler:^(NSData *data,
                            NSURLResponse *response,
                            NSError *error) {
    NSError *parseError;
    NSDictionary* xmlDict1 = [XMLReader dictionaryForXMLData:data error:&parseError];
            NSDictionary *dictData = [xmlDict1 objectForKey:@"event_listing"];
            arrData = [dictData objectForKey:@"event"];

            NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
            [defaults setObject:arrData
                         forKey:@"Keyupevent"];
            [defaults setBool:YES forKey:@"KeyalldataLoad"];
             [defaults synchronize];
            uparrData =[[defaults objectForKey:@"Keyupevent"] mutableCopy];
            [arrStoreAllEventsData addObjectsFromArray:uparrData];

            [self.tblView reloadData];
            [self loadPastEventdatafromxml];
        }] resume];

最新更新