1

我正在尝试为 iPhone 制作一个基于 UITableView 的应用程序。我之前通过从 RSS 提要中提取数据来做到这一点,但是对于这个应用程序,我正在尝试使用来自网页的数据。数据采用 Web 表格格式 (http://www.roblox.com/Forum/Default.aspx),并且由于是论坛,因此具有不同的层次结构。

我应该如何解析这些数据?有我可以使用的框架吗?

再一次,我想使用的数据是这个网站上的表格(论坛) - http://www.roblox.com/Forum/Default.aspx

谢谢!

4

1 回答 1

1

我真的推荐Hpple。这是一个非常好的 XML/HTML 解析器。

要使用它,您需要${SDKROOT}/usr/include/libxml2在项目选项中添加“标题搜索路径”并添加-lxml2到“其他链接器标志”。

然后,将其拖到您的代码中:TFHpple.h, TFHpple.m, TFHppleElement.h, TFHppleElement.m, XPathQuery.h, XPathQuery.m.

在代码中添加:

NSData *htmlData = [[NSString stringWithContentsOfURL:[NSURL URLWithString: @"http://www.roblox.com/Forum/Default.aspx"]] dataUsingEncoding:NSUTF8StringEncoding];

TFHpple *xpathParser = [[TFHpple alloc] initWithHTMLData:htmlData];
NSArray *elements  = [xpathParser searchWithXPathQuery:@"//a[@class='forumTitle']"];

for(int i = 0; i < [elements count]; i++) {
    TFHppleElement *element = [elements objectAtIndex:i];
    NSString *string = [element content];
    NSLog(@"%@", string);
}

[xpathParser release];
[htmlData release];

我们在每个awithclass = forumTitle和itTFHppleElement中创建了一个循环。NSLog

要了解更多信息,请查看XPath Syntax。还要检查一个教程

现在你问:为什么要使用 Hpple?它更快,更容易使用,并且有很棒的教程。

希望对您有所帮助!

于 2012-05-29T01:04:22.820 回答