次のようなファイルを解析するために NSXMLParser を取得しようとしています。
<message>
<id>73</id>
<data><(some BLOB data)></data>
</message>
これは私のobj-cコードです:
- (void)request:(ASIHTTPRequest *)request didReceiveData:(NSData *)data
{
if (receivedData == nil) {
receivedData = [[NSMutableData alloc] init];
}
[receivedData appendData:data];
}
- (void)requestFinished:(ASIHTTPRequest *)request
{
if (parser) {
[parser release];
parser = nil;
}
parser = [[[NSXMLParser alloc] initWithData:receivedData] retain];
if (parser == nil) {
NSLog(@"Error occured");
}
[parser setDelegate:self];
[parser parse];
}
変数 receiveData が空でないことは確かです。しかし、 NSXMLParser は私にこのエラーを与え続けています:
Error Domain=NSXMLParserErrorDomain Code=4 "The operation couldn't be completed. (NSXMLParserErrorDomain error 4.)"
Apple が提供するリファレンスによると、このエラーは、パーサーが空のドキュメントを解析していることを示しています。誰でも理由を知っていますか?receiveData は音声情報が含まれているため巨大です