【发布时间】:2013-07-13 00:10:01
【问题描述】:
我想等待 NSXMLParser 进程完成,然后继续其他进程。我使用 NSXMLParser 来解析 XML 数据。
这是我的代码:
- (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];
}
}
以上代码用于从 NSXMLParser 获取数据,但我的应用程序需要等待解析 xml 过程完成。我可以使用dispatch () 吗?
【问题讨论】:
-
@Kasaname:我更新了我的问题。谢谢
-
我不知道 ParseXML 或 NSParseXML。你是说 NSXMLParser 吗?
-
@MartinR:是的,我使用 NSParseXML
-
@NGOT:???什么是 NSParseXML?那是第三方框架吗?
-
所以你使用 NSXMLParser 而不是 NSParseXML ?你是想迷惑我们吗?
标签: iphone ios objective-c nsxmlparser parsexml