iPhone에서 NSXMLParser
을 사용하여 일부 XML을 구문 분석하려고합니다. 내가 원하는 요소를 감지하면XML 하위 요소 가져 오기 - 태그 이름 포함
, 나는 가 시작 요소 및 종료 요소 사이입니다 으로 모두에게하고 싶은. 주어진 예를 들어
:
<A>
<K>
<C>
<D>dddd</D>
</C>
<E> eeee </E>
</K>
<F> ffff </f>
</A>
내가
K
를 지정하고 받고 싶습니다 :<C>
<D> dddd </D>
</C>
<E> eeee </E>
그러나, 현재 NSXMLParser는 모든 <
, >
및 속성을 무시합니다. 내가 지정한 태그 사이에있는 모든 것을 얻는 데 위임 메서드에 무엇을 넣어야합니까? 여기
내가 지금 무엇을 가지고 : 사전에
//---when the start of an element is found---
-(void) parser:(NSXMLParser *) parser didStartElement:(NSString *) elementName namespaceURI:(NSString *) namespaceURI qualifiedName:(NSString *) qName attributes:(NSDictionary *) attributeDict {
if([elementName isEqualToString:@"ns11:createNewPrincipalResponse"])
{
elementFound = YES;
NSLog(@"PrincResp FOUND");
}
}
-(void)parser:(NSXMLParser *) parser foundCharacters:(NSString *)string
{
if (elementFound)
{
[parseResults appendString: string];
}
}
//---when the end of element is found---
-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
if ([elementName isEqualToString:@"ns11:createNewPrincipalResponse"])
{
//---displays the country---
NSLog(@"\n******************\nParse Results...\n*************\n\n%@",parseResults);
[parseResults setString:@""];
token = [NSString stringWithString:parseResults];
elementFound = FALSE;
}
}
감사합니다!
OK, 나는 열과 행 번호를 성공적으로 얻었습니다. 특정 열과 행에서 다른 열과 행으로 부분 문자열을 추출하는 데 사용할 수있는 방법이 있습니까? – klyngbaek
수정 된 답변의 예보기 – SVD
감사합니다. 코드가 트릭을 수행합니다. 그러나 구문 분석기에서 반환 한 열 번호와 줄 번호는 올바른 색인입니다. (위의 코드는 문자열과 함께 작동하지만 파서에 대한 입력은 데이터입니다.) – klyngbaek