如何使用后代

How to use descendants

我有类似的东西:

doc.css('results[name="test"]').map { |node| file.write node.ancestors("tests").first['name']; file.write "\n" }

但是我想写的是:

doc.css('tests').map{ |node| file.write node.first['name'] if node.descendants('results').first['name'] == "test" }

但是没有方法descendants。 如果我想采用第二种方法,我应该在代码段中修改什么?

尝试

doc.css('tests').each { |node| file.write node['name'] if node.css('results[name="test"]').any? }

doc.css('tests').select { |node| node.css('results[name="test"]').any? }.each { |node| file.write node['name'] }