2012-05-29 26 views
1

我正在嘗試爲iPhone製作基於UITableView的應用程序。我之前通過從RSS提要中提取數據完成了此操作,但對於此應用程序,我嘗試使用網頁中的數據。數據採用網絡表格格式(http://www.roblox.com/Forum/Default.aspx),並且由於它是論壇而具有不同的層次結構。爲UITableView提取HTML表格

我應該如何解析這些數據?有我可以使用的框架嗎?

我想再次使用的數據是本網站的表格(論壇) - http://www.roblox.com/Forum/Default.aspx

謝謝!

回答

1

我真的推薦Hpple。這是一個非常好的XML/HTML解析器。

要使用它,您需要在項目選項的「標題搜索路徑」中添加${SDKROOT}/usr/include/libxml2,並將-lxml2添加到「其他連接器標誌」。

然後,將其拖動到你的代碼:TFHpple.hTFHpple.mTFHppleElement.hTFHppleElement.mXPathQuery.hXPathQuery.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]; 

我們做的每aclass = forumTitle循環與TFHppleElementNSLog它。

要了解更多信息,請看XPath Syntax。還請檢查a tutorial

現在你問:爲什麼使用Hpple?它更快,更容易使用,並帶有令人敬畏的教程。

希望它有幫助!

+0

謝謝!這似乎是我正在尋找的,我會測試它。 – cowbear16

+0

不客氣。如果您在使用XPath Sintax解析某些元素時遇到困難,請在此留言,我會爲您提供幫助。 – 2012-05-29 01:35:22

+0

謝謝,我實際上遇到了一個錯誤。我正在看教程,它不斷崩潰在這一行 - NSData * htmlData = [[NSString stringWithContentsOfURL:[NSURL URLWithString:@「http://www.objectgraph.com/contact.html」]] dataUsingEncoding:NSUTF8StringEncoding] ; – cowbear16