我真的推薦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];
我們做的每a
與class = forumTitle
循環與TFHppleElement
和NSLog
它。
要了解更多信息,請看XPath Syntax。還請檢查a tutorial。
現在你問:爲什麼使用Hpple?它更快,更容易使用,並帶有令人敬畏的教程。
希望它有幫助!
謝謝!這似乎是我正在尋找的,我會測試它。 – cowbear16
不客氣。如果您在使用XPath Sintax解析某些元素時遇到困難,請在此留言,我會爲您提供幫助。 – 2012-05-29 01:35:22
謝謝,我實際上遇到了一個錯誤。我正在看教程,它不斷崩潰在這一行 - NSData * htmlData = [[NSString stringWithContentsOfURL:[NSURL URLWithString:@「http://www.objectgraph.com/contact.html」]] dataUsingEncoding:NSUTF8StringEncoding] ; – cowbear16