2

私はアプリケーションを開発しています。その中で、xml 経由で 500 から 600 の質問を受けています。しかし、ファイル全体を一度に解析すると、かなりの時間がかかります。

したがって、時間を節約するために xml ファイルを部分的に解析したいと考えています。つまり、最初に最初の 3 つの質問に対して xml ファイルを解析し、それら 3 つを表示した後、次の 3 つの質問に対して解析を行うことができます。

しかし、3 つの質問を取得した後で解析を停止するにはどうすればよいでしょうか。

解析を高速に行うための他のアプローチを誰かが知っている場合は、教えてください。ところで、私はTBXML解析に使用しています。

4

1 に答える 1

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>
}
于 2012-09-18T06:57:53.623 に答える