2010-10-14 37 views
0

我正在提取一个HTML页面,并尝试获取它的一些内容以在表格视图中显示它。继文档我试图NSXMLDocument和的NSXMLParser,但不能得到任何人给我正确的数据传回:-(使用XPath按类值筛选HTML

页我想废钢http://www.instapaper.com/u

我正在使用的代码是

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

得到的div类= tableViewCell。

如果我只搜索// DIV我取回他们很多,但按类过滤似乎并没有被:-(工作

任何想法我做错了什么?

感谢您的帮助, 米格尔

+0

可能的重复[如何通过CSS类与XPath找到一个元素?](https://stackoverflow.com/questions/1604471/how-can-i-find-an-element-by-css-class -with-xpath) – siegi 2017-09-17 10:25:29

回答

7

我猜你是想通过class属性来过滤?那么你就需要一个@添加到您的XPath:

//div[@class='tableViewCell'] 

然而,我无法找到有此一等级DIV?

+0

非常感谢Dennis。我以为我是这样试过的......但是当我这样做的时候,我似乎做错了什么。现在它完美的工作:-) – Michi 2010-10-14 09:33:10

+0

还有一个问题......如果类属性值是“tableViewCell someOtherClassValue”,我该怎么办?现在它只能让我回到只有tableViewCell作为值的节点。 – Michi 2010-10-14 09:52:28

+4

你可以使用// div [contains(string(@class),“tableViewCell”)] – 2010-10-14 15:17:39