2011-08-04 5 views
0

저는 xcode 개발의 초보자입니다. 서버에서 값을 인출하기위한 웹 서비스 호출을 구현하려고하며 테이블보기에 표시합니다. 넷에서 일부 샘플 코드를 얻었고 일부는 어떻게 작동시킬 수 있는지 보여줍니다. 하지만 여전히 구문 분석기가 XML 노드를 반복하는 방법을 모르겠습니다. 아무도 나를 xcode 및 에서 xml 파서의 작업을 찾을 수 있습니다 for 루프없이 모든 노드를 통해가는 것?NSXMLParser 작동 방법

답변

2

사실 오 대리자 메서드

1.didstartdocument

2.didstartelement

3.found 문자

4.didendelement

5.didenddocument

있다 이 첫 번째 방법 문서를 시작하기위한 것입니다. 두 번째 방법은 시작 요소가 발견되면 시작 요소에 데이터가있는 경우 발견 된 문자로 이동합니다. 그 다음엔 그 일이 끝나면 다시 시작됩니다. 계속 반복됩니다. 문서가 끝나면 끝 문서로갑니다.

+0

사치노 고맙습니다, 당신의 반응은 제가 찾고있는 것에 거의 가깝습니다.이게 도움이 될 것 같아요. –

+0

내 대답 수준이 마음에 들면 정답으로 선택하십시오. – Tendulkar

0

NSXMLParser는 데이터를 가져 와서 구문 분석 할 때 적절한 대리자를 보내 데이터를 다시 제공합니다. 기본 XML 파싱을 수행 한 다음 델리게이트 형태로 데이터를 전송하는 것처럼 작동합니다. 결국 XML을 파싱 할 때 루프가 필요하지 않습니다.

+0

빠른 응답을 위해 Girish를 사용해 주셔서 감사합니다.하지만 여전히 일부 단계에서 구문 분석을 중단하는 방법이 명확하지 않습니다. xml 웹 응답의 첫 번째 줄에서 특정 XML 노드 (태그)를 만난다면 구문 분석을 중단하고 싶습니다. –

+0

"- (void) abortParsing"사용을 중지하고 싶을 때 ... –

0

제이슨 포맷의 경우이 블로그를 살펴보십시오.

Jason Parsing

그리고 XML 파싱에 대한

이 방법은 매우 쉬운 방법으로 XML 구문 분석을 사용하는 방법을 보여줍니다이 블로그 XML Parsing and Uploading data to server like images

을 읽고도 이동이 server.Just에 데이터를 업로드하는 데 도움이 될 것입니다 블로그를 통해. 그리고 투표를 잊어 버리고 답을 받아들이면 잊지 마십시오.

0

이것은 매우 간단합니다. 적절한 흐름을 위해 메서드에 중단 점을 넣으면 이해할 수있는 모든 매개 변수의 값을 확인할 수 있습니다. 자세한 내용은 퍼팅 중단 점

이러한 방법을 고려해야 할 또 대한
[self parseXMLFileAtURL:path]; 

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

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string 

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName 

당신이 값을 저장하고자하는 객체에 메모리를 할당 할 경우 귀하의 요소는 didStartElement에서 검출되며, didEndElement에 당신은 당신이에 저장 한 값이 당신의 영구 배열.

+0

코드를 게시하기 전에 서식을 지정하십시오. – ArunGJ