XML 파서는 절대로 충돌하지 않지만 제 처리기가 충돌합니다. 예를 들어 < foo />를 얻은 다음 그 값을 배열 (nil, boom)에 저장하려고합니다. 다음은 내가 사용한 대리자를 사용하여 XML을 구문 분석하는 정확한 코드입니다.
NSData *data = [[NSData alloc] initWithContentsOfFile:filename];
NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:data];
MGXMLParser *parser = [[MGXMLParser alloc] initWithRecipient:self];
[xmlParser setDelegate:parser];
BOOL success = [xmlParser parse];
if (success) {
NSLog(@"No errors");
} else {
NSError *error = [xmlParser parserError];
NSLog(@"Errors with xmlParser: %@", [error localizedDescription]);
}
[parser release];
[xmlParser release];
[data release];
MGXMLParser는 명확하지 않은 경우를 대비하여 XML 파서의 위임자입니다.
업데이트 : 0ops, 그래서 내 < foo />을 (를) 파싱했습니다.
나는 이것을 시도했지만 도움이되지 않습니다. 던져 예외가 없습니다 그리고 나는 그것을 잡을 수 없다 : –