Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using XPath to filter HTML by class value

I'm fetching an a HTML page and try to get some of it's content to show it in a table view. Following the documentation I tried NSXMLDocument and NSXmlParser but could not get any of them to give me the right data back :-(

The page I'm trying to scrap is http://www.instapaper.com/u

The code I'm using is

NSXMLDocument * doc = [[NSXMLDocument alloc]
                        initWithXMLString: data
                        options: NSXMLDocumentTidyHTML
                        error: &error];
NSArray* rows = [doc nodesForXPath:@"//div[class='tableViewCell']" error:&error];

to get DIVs with class=tableViewCell.

If I only search for //div I get back a lots of them, but filtering by class seems not to be working :-(

Any idea what I'm doing wrong?

Thanks for any help, Miguel

like image 504
Michi Avatar asked Jun 17 '26 18:06

Michi


1 Answers

I guess you are trying to filter by the class attribute? then you would need to add an @ to your xpath:

//div[@class='tableViewCell']

yet, i cannot find a div having this class?

like image 107
Dennis Münkle Avatar answered Jun 19 '26 08:06

Dennis Münkle