2010-01-11 6 views
0

을 사용하여 XML 문서가 비어 있는지 확인 웹 서비스의 데이터를 XML로 검색하는 iPhone 응용 프로그램을 작성합니다. 데이터가 웹 서비스에 의해 발견되지 않는 경우,이 데이터는 다음 구문 분석되고NSXMLParser

<?xml version="1.0"?> 
<root_element/> 

같은 빈 문서를 배열하고 이후 테이블 뷰에 추가 반환합니다.

있음 return [self.array count];하지만 분명히 문서가 비어 있다면 아무것도 배열에 추가되고 구문 분석 오류가 발생하지 않고 대신 index out of bounds 오류가 발생합니다. isDocumentEmpty 메서드가 있거나 문서에 요소가 있는지 확인하는 방법이 있습니까?

내가 어떻게 확인 하시겠습니까? 사용자에게 경고하기 위해 어떤 방법을 사용해야합니까? 경고보기 및 컨트롤러 팝업?

감사합니다.

-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName 
namespaceURI:(NSString *)namespaceURI 
qualifiedName:(NSString *)qName 
    attributes:(NSDictionary *)attributeDict 

를하고 애플에서 SeismicXML 샘플 응용 프로그램을 확인할 수 있습니다 XML 데이터를 구문 분석 NSXMLParser를 사용하는 방법에 대해서는가 elementName

답변

0

root_element/ 확인 :

0

당신은 사용할 수 있습니다.

이 응용 프로그램에서 XML 구문 분석은 백그라운드 스레드에서 발생하며 구문 분석 된 개체의 일괄 처리로 테이블보기를 업데이트합니다.

+0

내가가 elementName로 "/ root_element"을 사용하여 시도했지만 일을 일부러의가 elementName은 여전히뿐만 아니라 올바른 문서에 존재하는 "root_element"이었다. – joec

0

제가 생각하기에 문제는 tableview를 다시로드하려는 것입니다. 배열 인덱스의 범위를 벗어난 배열에서 요소에 액세스하면 범위를 벗어나는 예외가 발생합니다.

그래서 여기에 문제가 모든

  • 첫 번째 예외가 발생한 후에 콘솔로 이동을 정확히 알아야 할 디버깅 팁입니다. "where"를 입력하고 Enter 키를 누르면 예외 세부 사항이 표시됩니다.
  • 이 오류가 발생한 정확한 행 번호가 표시됩니다.

당신은 당신이하고있는 오류를 발견 할 것이다 단지 라인과 디버깅하기 전에 중단 점을 넣어.

그래도 도움이되지 않는다면. 일부 코드 스 니펫을 표시하십시오.

감사합니다,

Madhup