你有任何使用iPhone上的TouchXML lib解析HTML的经验。我想解析一些HTML,因此尝试执行以下操作
self.parser = [[CXMLDocument alloc]initWithData:self.html options:0 error:&error1];
if (error1) {
NSLog(@"Error: %d", error1);
}
NSError *error;
NSArray *resultNodes = [[NSArray alloc]init];
NSLog(@"starting to do some crazy parsing");
resultNodes = [self.parser nodesForXPath:@"//div" error:&error];
if (error)
NSLog(@"initWithData error : %d", error);
不幸的是,根本不起作用。我不知道如何正确调试。我的HTML应该有效。它只是以html标签开头,这意味着没有doctype。 initWithData方法似乎已崩溃并返回以下错误: 错误:错误域= CXMLErrorDomain代码= -1“操作无法完成。(CXMLErrorDomain错误-1。)”如果我尝试输出第二个错误,应用程序崩溃之前,可能导致initWithData不起作用的事实。
您是否有人使用TouchXML lib解析HTML有一些经验?
感谢您的帮助!
答案 0 :(得分:0)
首先,错误是指向对象的指针,因此如果要将其打印出来。它应该是:NSLog(@"%@", error1);
错误相同。如果要打印错误代码。你可以做NSLog(@"%d", [error1 code])
。你给我们的只是错误的记忆区域
答案 1 :(得分:0)
以下对我来说一直都很好。试试吧。
CXMLDocument *rssParser = [[[CXMLDocument alloc] initWithContentsOfURL:url options:0 error:nil] autorelease];
resultNodes = [rssParser nodesForXPath:@"//item" error:nil];
// Loop through the resultNodes to access each items actual data
for (CXMLElement *resultElement in resultNodes) {
....
还要确保您的链接正确。有几次,当我使用feed://www.foo.com/feed而不是http://www.foo.com/feed时,它发生在我身上
干杯。