【发布时间】:2011-08-08 19:57:40
【问题描述】:
我正在使用带有 Ruby 的 CSS 选择器导航文档,但我在 Hpricot 中发现了一些在 Nokogiri 中已修复的 css-selector 错误,并且想要切换。
我遇到的一个问题是弄清楚如何获取所有作为“容器”(即不是文本节点)的子节点的数组。 Hpricot 通过容器方法开箱即用地提供了此功能。
所以在 Hpricot 我可以这样做:
children = doc.select('*')[0].containers
但是对于 Nokogiri,似乎只能通过以下方式获得相同的功能(我不确定它是否以完全相同的方式工作):
children = doc.css('*')[0].children.to_a.keep_if {|x| x.type != Nokogiri::XML::Node::TEXT_NODE }
有没有更好的方法来做到这一点?
【问题讨论】:
标签: ruby containers nokogiri hpricot