Проблема
Я запускаю статистику по различным URL-адресам. Я хочу найти элемент верхнего уровня с самым концентрированным количеством детей. Метод, которым я хотел бы следовать, состоит в том, чтобы идентифицировать все элементы верхнего уровня, а затем определить, какой процент от всех элементов на странице принадлежит ему.
Цель
- Рекурсивно получить все дочерние элементы данного элемента.
Входы: элемент Nokogiri
Выходы: массив элементов Nokogiri ИЛИ количество общего количества детей
Настройка
- Ruby 1.9.2
- драгоценный камень Нокогири
Что я в итоге придумал (это работает, но не так красиво, как мой выбранный ниже ответ)
getChildCount(elem)
children = elem.children
return 0 unless children and children.count > 0
child_count = children.count
children.each do |child|
child_count += getChildCount(child)
end
child_count
end