首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iPhone,使用TouchXML解析HTML

iPhone,使用TouchXML解析HTML
EN

Stack Overflow用户
提问于 2010-07-21 22:38:35
回答 2查看 3.4K关注 0票数 0

你们当中有没有在iPhone上使用HTML解析TouchXML的经验。我想解析一些html,因此尝试执行以下操作

代码语言:javascript
复制
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方法似乎已经崩溃,并返回以下错误: error: Error Domain=CXMLErrorDomain代码=-1“无法完成操作。(CXMLErrorDomain错误-1)。”如果我尝试输出应用程序之前崩溃的第二个错误,可能是因为initWithData不工作。

你们中有没有人有过用TouchXML库解析HTML语言的经验?

谢谢你的帮助!

EN

回答 2

Stack Overflow用户

发布于 2010-07-21 23:17:58

首先,error是一个指向对象的指针,所以如果你想把它打印出来。它应该是:NSLog(@"%@", error1); same for error。如果您想打印错误代码。你可以做NSLog(@"%d", [error1 code])。您给我们的只是错误的内存区

票数 0
EN

Stack Overflow用户

发布于 2011-07-29 16:52:39

下面的代码对我来说工作得非常好。试试看。

代码语言:javascript
复制
 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时,这种情况发生在我身上

干杯。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3300429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档