NSXMLParser - 原始数据是什么?

时间:2013-08-06 16:57:51

标签: cocoa

我使用以下代码创建了NSXMLParser对象:

- (void) foo:(NSMutableString *)string
{
    NSXMLParser *parser = [[NSXMLParser alloc] initWithData:[string dataUsingEncoding:NSUTF8StringEncoding]];
    [parser setDelegate:self];
    [parser parse];
}

有时我在运行解析器后会遇到错误(在调用错误时调用委托方法):

- (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError
{
    LOGE(@"XML parser error in line:%ld column:%ld. Retrying..", [parser lineNumber], [parser columnNumber]);
    [parser abortParsing];
    [parser parse];
}

如果出现错误,如何从解析器中提取原始stringdata

1 个答案:

答案 0 :(得分:0)

如果您以后需要使用这些指针,那么您有责任存储指向这些对象的指针,而不是解析器。

解析器永远不会知道字符串,因为它永远不会传递给它。如果解析器保持数据指针,那么它的效率也非常低。