我正在开发一个应用程序。我通过 xml 收到 500 到 600 个问题。但是,如果我一次解析整个文件,则需要很长时间。
所以我想逐部分解析xml文件以节省时间。这意味着首先我解析前三个问题的xml文件,在显示这三个问题之后,我可以解析接下来的三个问题,依此类推。
但是得到三个问题后如何停止解析呢?
如果有人知道任何其他快速解析的方法,请告诉我。顺便说一句,我TBXML
用于解析。
我正在开发一个应用程序。我通过 xml 收到 500 到 600 个问题。但是,如果我一次解析整个文件,则需要很长时间。
所以我想逐部分解析xml文件以节省时间。这意味着首先我解析前三个问题的xml文件,在显示这三个问题之后,我可以解析接下来的三个问题,依此类推。
但是得到三个问题后如何停止解析呢?
如果有人知道任何其他快速解析的方法,请告诉我。顺便说一句,我TBXML
用于解析。
尝试这个。我希望它会帮助你:
-(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>
}