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)