i want wait nsxmlparser process complete , continue other processes. use nsxmlparser parse xml data.
this code:
- (void)parser:(nsxmlparser *)parser didstartelement:(nsstring *)elementname namespaceuri:(nsstring *)namespaceuri qualifiedname:(nsstring *)qualifiedname attributes:(nsdictionary *)attributedict { nslog(@"did start element"); if ( [elementname isequaltostring:@"filename"]) { xml_field = filename_cloud2; nslog(@"found rootelement"); return; } else if ( [elementname isequaltostring:@"uploadtime"]) { nslog(@"found rootelement"); xml_field = uploadtime2; return; } }
didendelement():
- (void)parser:(nsxmlparser *)parser didendelement:(nsstring *)elementname namespaceuri:(nsstring *)namespaceuri qualifiedname:(nsstring *)qname { nslog(@"did end element"); if ([elementname isequaltostring:@"filename"]) { nslog(@"rootelement end"); } xml_field = unimportant2; }
foudcharaters():
- (void)parser:(nsxmlparser *)parser foundcharacters:(nsstring *)string { if (xml_field == filename_cloud2) { nslog(@"value %@",string); [filecompletedarray insertobject:string atindex:0]; } else if (xml_field == uploadtime2) { nslog(@"value %@",string); [uploadtimearray insertobject:string atindex:0]; } }
above code used data nsxmlparser app needs wait parse xml process complete. can use dispatch ()
?
nsxmlparser
works synchronous. when parse
method returns parsing finished (or has failed error). there no need "wait" complete.
Comments
Post a Comment