2013-02-12 2 views
2

Я использую nokogiri gem для анализа содержимого таблицы html, в котором у меня есть столбец со списком имен, и некоторые из этих имен являются гиперссылками, а некоторые нет. Когда я использую этот код:Как разобрать текст TABLE с помощью Nokogiri?

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 всегда будет находиться в пределах table и tr. Если у вас нет других требований к выбору, вы можете упростить, как указано выше.

+0

Спасибо. Это то, что мне нужно. – mpora

Смежные вопросы