iPhone:如何从目标 c 中解析"cancel"我的 xmlparser?



在我的中

- (void)parser:(NSXMLParser *)parser
        didStartElement:(NSString *)elementName
           namespaceURI:(NSString *)namespaceURI
          qualifiedName:(NSString *)qualifiedName
             attributes:(NSDictionary *)attributeDict {
          // ...
}

我检查我的一个XML属性是否等于我存储在plist中的值。如果不是,那么我希望它能正常执行并获得最新信息。如果它是相同的值,尽管我不想浪费再次获取所有数据的处理时间。所以,如果我有下面这样的代码,如果值相同,我如何终止解析过程?

if (lastUpdated == [attributeDict valueForKey:@"last_updated"]) {
     // Terminate the xml parsing because data is up to date
}

您可以使用[parser abortParsing],但请注意,这适用于XML错误,而不是"我不想要这些数据"的情况,根据我的经验,这可能会导致您的parser:parseErrorOcurred:方法被调用几次。

调用〔parser abortParsing〕取消当前点的解析。

请注意,iOS 6.0中有一个错误,abortParsing将取消解析器,但不会调用解析器:parseErrorOccurred,也不会设置"parserError"。

最新更新