2010-10-14 80 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