간단한 일이 같은 것을하는 것입니다 : setDelegate는 것을
NSXMLParser *xmlParser = [[NSXMLParser alloc]initWithData:<yourNSData>];
[xmlParser setDelegate:self];
[xmlParser parse];
공지 사항 : '자기'에 대리자를 설정하는 것입니다을 의미 현재의 오브젝트 따라서이 객체에서 질문에 언급 된 델리게이트 메서드를 구현해야합니다.
그래서 더 아래 코드에서, 페이스트 :
- (void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI
qualifiedName:(NSString *)qualifiedName
attributes:(NSDictionary *)attributeDict{
NSLog(@"I just found a start tag for %@",elementName);
if ([elementName isEqualToString:@"employee"]){
// then the parser has just seen an <employee> opening tag
}
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{
NSLog(@"the parser just found this text in a tag:%@",string);
}
등 등
그것은 당신이 어떤 태그의 값으로 설정 변수처럼 뭔가를 할 때 좀 더 열심히이다, 일반적으로 BOOL inEmployeeTag
과 같은 클래스 변수 caleld를 사용하여 didStartElement
: 메소드에서 true (예)로 설정하고 didEndElement
: 메소드에서 false로 설정 한 다음 foundCharacters
메소드에서 값을 확인하십시오. 그렇다면 문자열의 값에 var를 할당하고, 그렇지 않으면 var을 할당합니다.
리처드