2012-09-18 57 views
2

我正在開發一個應用程序。我通過xml獲得了500到600個問題。但是如果我一次解析整個文件需要很多時間。如何逐個解析xml文件?

所以我想分析部分xml文件來節省時間。這意味着首先我解析xml文件的前三個問題,並在顯示這三個問題後,我可以解析接下來的三個問題,上。

但是如何在得到這三個問題後停止解析?

如果有人知道任何其他方法來快速解析然後請告訴我。順便說一句,我用TBXML解析。

+0

顯示從你的問題的xml一些例子 – 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

謝謝you.But我知道該怎麼做了該class.I XML解析和委託方法需要做解析大文件非常快速或按部分進行解析部分。 –

+0

使用NSThread,它更好用。 –

+0

但我想在下一個屏幕上顯示解析的數據。 –