2013-02-12 70 views
2

我正在使用nokogiri gem來解析一個html表格內容,其中我有一列名稱列,其中一些名稱是超鏈接的,有些則不是。當我使用此代碼時:如何解析Nokogiri的TABLE文本?

puts doc.xpath("//table//tr//td[1]/text()") 

它跳過超鏈接的名稱。我也可以通過以下方式獲得超鏈接的名稱:

doc.xpath('//table//tr//td[1]//a[@href]').each do |link| 
    puts link.text.strip 
end 

如何獲取所有名稱而不必執行兩次?

回答

1

如果你想在單元格中的所有文本,超鏈接與否:

doc.xpath('//td[1]').each do |cell| 
    puts cell.text.strip 
end 

注:一個有效的HTML文檔中,一個td永遠是tabletr內。如果您沒有任何其他選擇器要求,則可以按照上述進行簡化。

+0

謝謝。這是我需要的。 – mpora 2013-02-12 21:19:41