2012-09-18 3 views
2

응용 프로그램을 개발 중입니다. 나는 XML을 통해 500 ~ 600 개의 질문을 받고 있습니다. 하지만 한 번에 전체 파일을 구문 분석하면 많은 시간이 걸립니다.파트별로 xml 파일을 구문 분석하는 방법은 무엇입니까?

그래서 부분적으로 XML 파일을 부분적으로 구문 분석하여 시간 지속 기간을 저장하려고합니다. 즉, 처음 세 개의 질문에 대해 xml 파일을 구문 분석하고 그 세 가지를 표시 한 후 다음 세 가지 구문 분석을 수행 할 수 있습니다. 에.

하지만 세 가지 질문을받은 후 어떻게 구문 분석을 중지 할 수 있습니까?

다른 사람이 파싱을 빠르게 수행하는 방법을 알고 있다면 알려주십시오. Btw 구문 분석에 TBXML을 사용하고 있습니다.

+0

이 – HelmiB

답변

0

시도해보십시오.

-(void) loadXML:(NSString *)urlStr 
{ 
    NSData *data = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:urlString]]; 
    parser   = [[NSXMLParser alloc] initWithData:data]; 
    parser.delegate = self; 
    [parser parse]; 
} 

/**** 
e.g. 
<name>Romit</name> 
**/ 
-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict 
{ 
    // method to make operation when element stated. <name> 
} 

- (void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string 
{ 
    // you get all data in this delegate method. from string variable. 
    // name value 
} 

- (void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict 
{ 
    // make operation when element finished. 
    //</name> 
} 
+0

내가 그 학급에는 XML 구문 분석 및 위임 방법을 수행하는 방법을 알고 해둬 감사 귀하의 질문에 XML에서 몇 가지 예를 보여 파싱 큰 파일을 수행해야합니다 나는 당신을 도와 바랍니다 매우 빠르게 또는 부분별로 구문 분석을 수행합니다. –

+0

NSThread를 사용하는 것이 더 좋습니다. –

+0

하지만 그 다음 화면에서 파싱 된 데이터를 보여주고 싶습니다. –

관련 문제