"웹 사이트에서 콘텐츠를 다운로드 할 수 없습니다"현재 XML 행을 이미 구문 분석하려고합니다 (웹 호출이 필요 없음). 내 응용 프로그램은 Objective-C의 기본 iPhone입니다. initWithData : xmlData를 사용하는 NSXMLParser 델리게이트 클래스를 설정했습니다. 어떤 이유로, 내 위임에 최초의 유일한 콜백 파서입니다 : 다음 텍스트로 parseErrorOccurred : 내가 웹에서 아무것도 요구하지 않기 때문에
NSXMLParser initWithData
"Unable to download content from web site (Error code 5)"
은 분명히, 이것은 말도 안돼. 여전히 뭔가를 불러내는데 비공개 URL 속성을 사용하고있을 수 있습니까?
위임 클래스 XmlParser가 :
- (void)parseXmlString:(NSString *)xml parseError:(NSError **)error {
DEBUG_NSLog(@"XML Parser: Called with string: %@", xml);
NSData *xmlData = [xml dataUsingEncoding:NSASCIIStringEncoding];
NSXMLParser *parser = [[NSXMLParser alloc] initWithData:xmlData];
// Set self as the delegate of the parser so that it will receive the parser delegate methods callbacks.
if (parser != nil) {
[parser setDelegate:self];
[parser setShouldProcessNamespaces:NO];
[parser setShouldReportNamespacePrefixes:NO];
[parser setShouldResolveExternalEntities:NO];
[parser parse];
NSError *parseError = [parser parserError];
if (parseError && error) {
*error = parseError;
}
[parser release];
}
}
가에서 호출 : 여기
몇 가지 코드
aString이있는 NSString 포함 된 XML입니다
XmlParser *parser = [[XmlParser alloc] init];
NSError *error = nil;
[parser parseXmlString:aString parseError:&error];
if (error) {
DEBUG_NSLog(@"ERROR FROM PARSER");
}
(참고 : 헤더없이). 라고
오류 콜백 :
코드가 실행- (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError {
NSString * errorString = [NSString stringWithFormat:@"Unable to download content from web site (Error code %i)", [parseError code]];
DEBUG_NSLog(@"XML Parser ERROR: %@", errorString);
[parser abortParsing];
}
의 parseErrorOccurred는 [파서 구문 분석] 후 즉시 안타와 그래, 난 등
의 didStartDocument, didEndDocument의 각을 구현 한감사합니다.
UPDATE : 그것을 디버깅에서
내가 만든 XMLDATA 객체가 나는 dataUsingEncoding에 전달하는 XML 문자열 데이터를 많이에도 불구하고, 0 바이트 것 같다. 인코딩이 문제입니까?
xml 요소 중 하나에 중첩 된 html이 들어 있습니다. 나는 "s와 & 's이 (가) 문제가 될 수 희망이 일을."고 생각하고 있어요 -.> \ "그것을 수정합니다
어느 쪽도없는 문제를 해결 따옴표를 이스케이프 또는 & 어떤 &의를 교체 할 수있다. 문자열에 태그를 갖는 뭔가 잘못 될 나는 샘플 XML 데이터와 코드 위에 시도
수정에 대한 내 답변보기 : – willcodejavaforfood
이 문제가 해결 되었습니까? – falconcreek