2
我想從nokogiri節點遍歷樹。我怎樣才能做到這一點?Nokogiri從節點(每個父節點)的相反方向遍歷
它希望做這樣的事情:
node.parents do |parent|
break if parent.attributes['id'].present?
end
我想從nokogiri節點遍歷樹。我怎樣才能做到這一點?Nokogiri從節點(每個父節點)的相反方向遍歷
它希望做這樣的事情:
node.parents do |parent|
break if parent.attributes['id'].present?
end
還有就是ancestors
method:
node.ancestors.each do |a|
break if a.attributes['id'].present?
end
目前尚不清楚你想要做什麼,但你可以通過一個選擇器作爲參數,所以要找到其中有一個id
屬性,你可以做到這一切的祖先:
node.ancestors("[@id]")
遞歸的方法來獲得一個包含所有節點到根的數組:
get = proc { |n| [n] + (n.respond_to?(:parent) ? get.(n.parent): []) }
get.(node)