XMLデータを解析しようとしています。 XMLParserは使用しませんでした。私はこれを以下のコードで使用していました私はJSONとしてXMLを解析し、私は辞書形式の応答を得ていました。以下は私のコードである - このもののXMLデータの構文解析c
NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
[[session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSError *jsonError;
if (error == nil){
NSDictionary *jsonResponse = [NSJSONSerialization JSONObjectWithData:data options:0 error:&jsonError];
if (jsonError) {
NSLog(@"Error : %@",error);
failureBlock(@{@"ErrorCode": [NSString stringWithFormat: @"%ld", (long)jsonError.code],
@"ErrorText": jsonError.localizedDescription});
} else {
NSLog(@"success : %@",jsonResponse);
successBlock(jsonResponse);
}
}else{
failureBlock(@{@"ErrorCode": [NSString stringWithFormat: @"%ld", (long)error.code],
@"ErrorText": error.localizedDescription});
}
}] resume];
が働いたが、突然のすべては、私のようなエラーメッセージが出始めました - そして、それがどのように働いていた以前の
ErrorCode = 3840;
ErrorText = "The data couldn\U2019t be read because it isn\U2019t in the correct format.";
?誰かが正しいXML解析を書く方法を教えてください。また、上記のコードでバイパスされているログインページを最初にリダイレクトするとxml urlが返され、XMLレスポンスが直接取得されます。アプリケーションでは、ログイン用のUIWebViewコンテナとして持っており、すべてのサービスコールでクッキーが適用されます。上記のコードでは、動作していたときにログインページをバイパスしてjson形式で応答を返していました。私もこのコードの下で試しました -
NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
[[session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSXMLParser *xmlparser = [[NSXMLParser alloc] initWithData:data];
[xmlparser setDelegate:self];
[xmlparser parse];
}] resume];
そしてdidStartElement、foundCharactersとdidEndElementと書いてあります。しかし、ログインページ自体を解析しようとしています。 NSXMLParserを使用すると、ログインページがバイパスされません。
ご迷惑をおかけして申し訳ございませんが、ご了承ください。
:https://github.com/nicklockwood/XMLDictionary
もがこのコードを試してみてください。 myDataエンコーディング:NSUTF8StringEncoding]; '、結果の文字列をNSLogし、正しい形式であるかどうかを確認します。 – Harsh
JSONの場合はhttp://jsonlint.com/、XMLの場合はhttp://www.xmlvalidation.com/を使用して、応答が正しいかどうかを検証します。 – Harsh
@Harshはい私はデータを印刷し、私の最初のアプローチはログインページを再び迂回していないようです。私はURLを変更して作業を開始しましたが、最初のアプローチはXMLを解析するのが正しいのですか? –